
@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700;800&family=Russo+One&display=swap');

:root {
  --paper: #f1f0ec;
  --paper-deep: #e8e6df;
  --white: #ffffff;
  --ink: #101014;
  --muted: #68656e;
  --line: #d7d4cc;
  --purple: #6b35ff;
  --purple-light: #d9ccff;
  --coral: #d6ff63;
  --lime: #d6ff63;
  --blue: #ddd2ff;
  --dark: #101014;
  --radius-xl: 46px;
  --radius-lg: 34px;
  --radius-md: 24px;
  --container: min(1440px, calc(100% - 64px));
  --shadow: 0 28px 90px rgba(24, 20, 30, .10);
}

* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Exo 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; left: 18px; top: -80px; z-index: 999; background: #111; color: #fff; padding: 12px 18px; border-radius: 14px; }
.skip-link:focus { top: 18px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "Russo One", "Exo 2", sans-serif; letter-spacing: -.025em; text-transform: none; }
h1 { font-size: clamp(3rem, 6.6vw, 7.7rem); line-height: .98; font-weight: 700; }
h2 { font-size: clamp(2.2rem, 4.5vw, 5.15rem); line-height: 1.04; font-weight: 650; }
h3 { font-size: 1.5rem; line-height: 1.2; letter-spacing: -.035em; }
.lead { color: var(--muted); font-size: clamp(1.05rem, 1.45vw, 1.34rem); line-height: 1.55; }
.small { color: var(--muted); font-size: .88rem; }
.eyebrow { margin-bottom: 18px; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { content: ""; display: inline-block; width: 30px; height: 2px; margin-right: 10px; vertical-align: middle; background: currentColor; }
.section { padding: 112px 0; }
.section-sm { padding: 72px 0; }
.section-head { max-width: 1080px; margin-bottom: 48px; }
.section-head.center { text-align: center; margin-inline: auto; }
.section-head .lead { max-width: 780px; }
.section-head.center .lead { margin-inline: auto; }

.btn {
  min-height: 54px;
  padding: 0 24px;
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: transparent;
  color: var(--ink);
  font-weight: 800;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-dark { background: var(--ink); color: #fff; }
.btn-purple { background: var(--purple); border-color: var(--purple); color: #fff; }
.btn-white { background: #fff; border-color: #fff; }
.btn-arrow::after { content: "↗"; font-size: 1.05rem; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.tag {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eceae5;
  font-size: .77rem;
  font-weight: 750;
}
.tag-purple { background: var(--purple-light); }
.tag-coral { background: var(--lime); }
.tag-dark { background: var(--ink); color: #fff; }

.rounded { border-radius: var(--radius-lg); overflow: hidden; }
.panel { border-radius: var(--radius-lg); background: var(--white); }
.dark { background: var(--dark); color: #fff; }
.dark .lead, .dark .small { color: #b9b5c0; }
.lilac { background: var(--purple-light); }
.blue { background: var(--blue); }
.coral { background: #d6ff63; }
.lime { background: var(--lime); }

/* Header */
.announcement {
  padding: 10px 20px;
  color: #fff;
  background: var(--purple);
  text-align: center;
  font-size: .84rem;
  font-weight: 750;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  padding: 13px 0;
  background: rgba(241, 240, 236, .90);
  backdrop-filter: blur(18px);
}
.nav-shell {
  min-height: 72px;
  padding: 8px 10px 8px 20px;
  border: 1px solid rgba(16, 16, 20, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 14px 45px rgba(16, 16, 20, .05);
}
.brand img { width: 205px; }
.nav-links { display: flex; align-items: center; gap: 2px; }
.nav-links a {
  padding: 10px 10px;
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 750;
  white-space: nowrap;
}
.nav-links a:hover, .nav-links a[aria-current="page"] { background: #efede8; }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.menu-btn { display: none; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: #fff; }
.menu-btn span, .menu-btn::before, .menu-btn::after { content: ""; display: block; width: 19px; height: 2px; margin: 4px auto; background: #111; }
.mobile-menu { display: none; padding: 10px 0 4px; }
.mobile-menu.open { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mobile-menu a { padding: 14px 16px; border-radius: 16px; background: #fff; font-weight: 750; }

/* Homepage hero */
.hero { padding: 38px 0 84px; }
.hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 32px; align-items: stretch; }
.hero-copy { padding: 62px 12px 30px 0; display: flex; flex-direction: column; justify-content: center; }
.hero-copy h1 { margin-bottom: 28px; }
.hero-copy .lead { max-width: 720px; margin-bottom: 30px; }
.hero-media {
  position: relative;
  min-height: 680px;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: #17131b;
}
.hero-media picture, .hero-media img { width: 100%; height: 100%; }
.hero-media img { object-fit: cover; }
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(8, 6, 12, .80));
}
.hero-caption {
  position: absolute;
  z-index: 2;
  left: 30px;
  right: 30px;
  bottom: 28px;
  color: #fff;
}
.hero-caption strong { display: block; max-width: 700px; font-family: "Russo One", "Exo 2", sans-serif; font-size: clamp(1.5rem, 2vw, 2.2rem); line-height: 1.18; }
.hero-caption span { display: block; margin-top: 8px; color: #d5cfd9; font-size: .86rem; }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 38px; }
.hero-fact { padding-top: 15px; border-top: 1px solid var(--line); }
.hero-fact b { display: block; font-size: 1.55rem; }
.hero-fact span { color: var(--muted); font-size: .84rem; }

/* Split content */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center; }
.split-media { min-height: 600px; border-radius: var(--radius-xl); overflow: hidden; background: #ddd; }
.split-media img { width: 100%; height: 100%; object-fit: cover; }
.values { display: grid; gap: 0; }
.value-row { display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 24px 0; border-top: 1px solid var(--line); }
.value-row:last-child { border-bottom: 1px solid var(--line); }
.value-number { color: var(--purple); font-family: "Russo One", "Exo 2", sans-serif; font-size: 1rem; }
.value-row h3 { margin-bottom: 5px; }
.value-row p { margin: 0; color: var(--muted); }

/* Cinematic game references */
.game-showcase { position: relative; min-height: 760px; overflow: hidden; }
.game-background { position: absolute; inset: 0; }
.game-background picture, .game-background img { width: 100%; height: 100%; }
.game-background img { object-fit: cover; }
.game-showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 6, 12, .94) 0%, rgba(8, 6, 12, .72) 45%, rgba(8, 6, 12, .15) 78%), linear-gradient(0deg, rgba(8, 6, 12, .82), transparent 50%);
}
.game-content { position: relative; z-index: 2; min-height: 760px; display: flex; align-items: flex-end; padding: 90px 0; color: #fff; }
.game-content > div { max-width: 780px; }
.game-content h2 { margin-bottom: 24px; }
.game-content .lead { color: #d1cbd5; }
.licence-note { margin-top: 20px; color: #a9a2ae; font-size: .78rem; }

/* Course sections */
.course-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.audience-card { min-height: 510px; padding: 36px; border-radius: var(--radius-xl); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; position: relative; }
.audience-card img { position: absolute; right: -10px; bottom: -10px; width: 50%; max-height: 75%; object-fit: contain; }
.audience-card > * { position: relative; z-index: 2; max-width: 62%; }
.audience-card h3 { font-family: "Russo One", "Exo 2", sans-serif; font-size: clamp(2rem, 3vw, 3.5rem); }
.course-list { display: grid; gap: 14px; }
.course-row {
  min-height: 170px;
  padding: 22px 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 100px 1fr 210px;
  align-items: center;
  gap: 24px;
}
.course-row:last-child { border-bottom: 1px solid var(--line); }
.course-index { color: var(--purple); font-family: "Russo One", "Exo 2", sans-serif; font-size: 1rem; }
.course-row h3 { margin: 0; font-family: "Russo One", "Exo 2", sans-serif; font-size: clamp(1.6rem, 3vw, 3.5rem); }
.course-row p { margin: 8px 0 0; color: var(--muted); max-width: 760px; }
.course-thumb { height: 125px; border-radius: 22px; overflow: hidden; }
.course-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Student work */
.portfolio-masonry { columns: 3 330px; column-gap: 20px; }
.work-card {
  break-inside: avoid;
  margin-bottom: 20px;
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow);
}
.work-card img { width: 100%; }
.work-card-body { padding: 24px; }
.work-card h3 { margin: 12px 0 8px; font-family: "Russo One", "Exo 2", sans-serif; font-size: 1.35rem; }
.work-card p { margin: 0; color: var(--muted); }
.process-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.process-pair img { min-height: 300px; width: 100%; object-fit: cover; border-radius: 24px; }
.gallery-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.filter-btn { padding: 11px 16px; border: 0; border-radius: 999px; background: #fff; font-weight: 800; }
.filter-btn.active { background: var(--ink); color: #fff; }

/* Student life */
.student-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.student-story { min-height: 540px; padding: 38px; border-radius: var(--radius-xl); position: relative; overflow: hidden; }
.student-story img { position: absolute; right: -15px; bottom: -10px; width: 58%; max-height: 82%; object-fit: contain; }
.student-story > div { position: relative; z-index: 2; max-width: 56%; }
.student-story h3 { font-family: "Russo One", "Exo 2", sans-serif; font-size: clamp(2rem, 3vw, 3.4rem); }

/* Pricing and reviews */
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.price-card { min-height: 530px; padding: 32px; border-radius: var(--radius-lg); background: #fff; display: flex; flex-direction: column; }
.price-card.featured { background: var(--purple-light); }
.price-card h3 { margin: 24px 0 12px; font-family: "Russo One", "Exo 2", sans-serif; font-size: 1.8rem; }
.price-card ul { padding-left: 20px; color: var(--muted); }
.price-card .btn { margin-top: auto; }
.price-value { margin: 20px 0; font-family: "Russo One", "Exo 2", sans-serif; font-size: 2rem; }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.review { min-height: 340px; padding: 30px; border-radius: var(--radius-lg); background: #fff; display: flex; flex-direction: column; }
.review blockquote { margin: 0 0 28px; font-size: 1.08rem; line-height: 1.58; }
.review footer { margin-top: auto; color: var(--muted); }
.placeholder-note { font-size: .75rem; color: #8b8790; }

/* News */
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news-card { border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
.news-card img { width: 100%; height: 260px; object-fit: cover; }
.news-body { padding: 26px; }
.news-body h3 { margin: 14px 0 10px; font-family: "Russo One", "Exo 2", sans-serif; font-size: 1.45rem; }
.news-meta { color: var(--muted); font-size: .82rem; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 24px; }
.contact-aside { padding: 40px; border-radius: var(--radius-lg); background: var(--purple-light); }
.contact-form { padding: 40px; border-radius: var(--radius-lg); background: #fff; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: .9rem; font-weight: 800; }
.field input, .field textarea, .field select {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #faf9f7;
  outline: none;
}
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(107, 53, 255, .10); }
.form-status { min-height: 24px; color: var(--purple); font-weight: 800; }

/* Generic page hero */
.page-hero { padding: 58px 0 82px; }
.page-hero-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 34px; align-items: center; }
.page-hero-media { height: 620px; border-radius: var(--radius-xl); overflow: hidden; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; }

/* FAQ */
.faq { max-width: 1000px; margin-inline: auto; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-q { width: 100%; padding: 24px 0; border: 0; background: transparent; display: flex; justify-content: space-between; gap: 22px; text-align: left; font-size: 1.08rem; font-weight: 800; }
.faq-q span:last-child { color: var(--purple); font-size: 1.65rem; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.faq-a > div { padding: 0 0 24px; color: var(--muted); max-width: 820px; }

/* Footer */
.footer { padding: 76px 0 30px; color: #fff; background: var(--dark); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 36px; }
.footer-brand img { width: 210px; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 410px; color: #aaa5b0; }
.footer h4 { font-size: .86rem; text-transform: uppercase; letter-spacing: .1em; }
.footer a { display: block; margin: 10px 0; color: #bbb6c1; }
.footer a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 42px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.15); color: #88838f; font-size: .83rem; }

/* Modal */
.lightbox { position: fixed; inset: 0; z-index: 200; padding: 30px; display: none; align-items: center; justify-content: center; background: rgba(8, 7, 10, .92); }
.lightbox.open { display: flex; }
.lightbox img { max-width: min(1500px, 92vw); max-height: 86vh; border-radius: 24px; }
.lightbox-close { position: absolute; top: 24px; right: 24px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; font-size: 1.4rem; }

/* Reveals */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .nav-links { display: none; }
  .menu-btn { display: block; }
  .nav-actions .btn { display: none; }
  .hero-grid, .split, .page-hero-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-media, .page-hero-media { min-height: 560px; height: 560px; }
  .course-row { grid-template-columns: 80px 1fr; }
  .course-thumb { display: none; }
  .price-grid, .review-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 760px) {
  :root { --container: min(100% - 28px, 1440px); --radius-xl: 30px; --radius-lg: 26px; }
  .announcement { font-size: .75rem; }
  .site-header { padding: 8px 0; }
  .nav-shell { min-height: 62px; padding-left: 14px; }
  .brand img { width: 174px; }
  .mobile-menu.open { grid-template-columns: 1fr; }
  .section { padding: 78px 0; }
  .section-sm { padding: 52px 0; }
  h1 { font-size: clamp(2.6rem, 13.4vw, 4.6rem); }
  h2 { font-size: clamp(2rem, 10vw, 3.45rem); }
  .hero { padding-top: 24px; }
  .hero-copy { padding: 24px 0; }
  .hero-media, .page-hero-media { min-height: 500px; height: 500px; }
  .hero-caption { left: 20px; right: 20px; bottom: 20px; }
  .hero-facts { grid-template-columns: 1fr; }
  .game-showcase, .game-content { min-height: 650px; }
  .game-content { padding: 70px 0; }
  .course-intro-grid, .student-strip, .price-grid, .review-grid, .news-grid, .form-grid { grid-template-columns: 1fr; }
  .audience-card, .student-story { min-height: 520px; padding: 28px; }
  .audience-card img, .student-story img { width: 78%; opacity: .55; }
  .audience-card > *, .student-story > div { max-width: 100%; }
  .portfolio-masonry { columns: 1; }
  .process-pair { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .reveal { opacity: 1; transform: none; }
}


/* V7 - real photography and purple/lime brand system */
.audience-card img, .student-story img {
  inset: 0;
  width: 100%;
  max-height: none;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}
.audience-card::after, .student-story::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,16,20,.94) 0%, rgba(16,16,20,.72) 48%, rgba(16,16,20,.12) 82%);
}
.audience-card > *, .student-story > div { color: #fff; max-width: 62%; }
.audience-card .lead, .student-story .lead { color: #e7e3eb; }
.audience-card .eyebrow, .student-story .eyebrow { color: var(--lime); }
.audience-card .btn, .student-story .btn { background: var(--lime); border-color: var(--lime); color: #111116; }
.audience-card.blue, .student-story.blue, .audience-card.coral, .student-story.coral { background: var(--purple); }
.tag-coral { background: var(--lime); color: #111116; }
.announcement { background: var(--purple); }
.btn-purple { background: var(--purple); border-color: var(--purple); }
.coral { background: var(--lime); }
.blue { background: var(--purple-light); }
.price-card.featured { background: var(--purple-light); }
@media (max-width:760px) {
  .audience-card img, .student-story img { width:100%; opacity:1; }
  .audience-card > *, .student-story > div { max-width:100%; }
  .audience-card::after, .student-story::after { background: linear-gradient(90deg, rgba(16,16,20,.93), rgba(16,16,20,.5)); }
}


/* V8 - student cabinet and authentication demo */
.auth-page{min-height:100vh;background:#f3f1ee;display:grid;grid-template-columns:1.05fr .95fr}
.auth-visual{position:relative;min-height:100vh;overflow:hidden;background:#101014}
.auth-visual img{width:100%;height:100%;object-fit:cover}
.auth-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,20,.12),rgba(16,16,20,.88)),linear-gradient(90deg,rgba(107,53,255,.45),transparent 60%)}
.auth-visual-copy{position:absolute;z-index:2;left:56px;right:56px;bottom:56px;color:#fff}
.auth-visual-copy h1{font-size:clamp(2.8rem,5vw,5.8rem);margin-bottom:18px}
.auth-visual-copy p{max-width:680px;color:#e4dfeb;font-size:1.08rem}
.auth-panel{padding:44px;display:flex;align-items:center;justify-content:center}
.auth-card{width:min(100%,560px);padding:42px;border-radius:34px;background:#fff;box-shadow:0 28px 90px rgba(23,18,31,.12)}
.auth-logo{width:215px;margin-bottom:34px}
.auth-card h2{font-family:"Unbounded";font-size:2rem;margin-bottom:10px}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.82rem;margin:22px 0}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.google-btn{width:100%;min-height:54px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800}
.google-icon{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font-size:.72rem}
.password-wrap{position:relative}.password-wrap input{padding-right:50px}.password-toggle{position:absolute;right:12px;top:40px;border:0;background:transparent;font-weight:800;color:var(--purple)}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin:14px 0 24px;font-size:.88rem}
.auth-links a{color:var(--purple);font-weight:750}
.demo-note{margin-top:20px;padding:15px;border-radius:16px;background:var(--purple-light);font-size:.83rem;color:#31294b}

.dashboard-body{background:#f1f0ec}
.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}
.dashboard-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#111116;color:#fff;overflow:auto}
.dashboard-brand{display:block;padding:5px 10px 28px}.dashboard-brand img{width:210px;filter:brightness(0) invert(1)}
.dashboard-profile{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;padding:14px;border-radius:20px;background:rgba(255,255,255,.07);margin-bottom:24px}
.dashboard-profile img{width:50px;height:50px;border-radius:16px;object-fit:cover}
.dashboard-profile strong,.dashboard-profile span{display:block}.dashboard-profile span{color:#aaa5b0;font-size:.78rem}
.dashboard-nav{display:grid;gap:6px}.dashboard-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:15px;color:#c9c4cf;font-weight:700;font-size:.9rem}.dashboard-nav a:hover,.dashboard-nav a.active{background:var(--purple);color:#fff}.dashboard-nav svg{width:20px;height:20px;flex:0 0 auto}
.dashboard-nav-label{padding:22px 14px 8px;color:#77717e;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.dashboard-main{min-width:0}
.dashboard-topbar{position:sticky;top:0;z-index:30;min-height:84px;padding:16px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(241,240,236,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.dashboard-search{width:min(460px,48vw);position:relative}.dashboard-search input{width:100%;padding:13px 16px 13px 44px;border:1px solid var(--line);border-radius:16px;background:#fff}.dashboard-search span{position:absolute;left:16px;top:13px;color:var(--muted)}
.dashboard-top-actions{display:flex;align-items:center;gap:10px}.icon-button{width:46px;height:46px;border:1px solid var(--line);border-radius:15px;background:#fff;display:grid;place-items:center;position:relative}.notification-dot{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--lime);border:2px solid #fff}
.dashboard-menu-toggle{display:none}
.dashboard-content{padding:30px}
.dashboard-welcome{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:26px}.dashboard-welcome h1{font-size:clamp(2rem,3vw,3.5rem);margin-bottom:8px}.dashboard-welcome p{color:var(--muted);margin:0}
.dashboard-date{padding:11px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:750;white-space:nowrap}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
.admin-card{background:#fff;border:1px solid rgba(16,16,20,.06);border-radius:24px;padding:22px;box-shadow:0 15px 45px rgba(25,20,32,.05)}
.metric-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--purple-light);color:var(--purple);margin-bottom:18px}.metric-icon.lime{background:rgba(214,255,99,.5);color:#263300}
.metric-title{color:var(--muted);font-size:.82rem;font-weight:750}.metric-number{font-family:"Unbounded";font-size:1.75rem;margin:5px 0}.metric-change{font-size:.78rem;color:#4f7a00;font-weight:800}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:22px;margin-bottom:22px}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.card-head h2{font-family:"Unbounded";font-size:1.22rem;letter-spacing:-.035em;margin:0}.card-head a,.card-head button{font-size:.8rem;font-weight:800;color:var(--purple);border:0;background:transparent}
.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.76rem;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;background:var(--purple)}.legend-dot.lime{background:var(--lime)}
.progress-chart{width:100%;height:auto;display:block}.chart-grid-line{stroke:#e9e6ed;stroke-width:1}.chart-area{fill:url(#progressArea)}.chart-line{fill:none;stroke:var(--purple);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--purple);stroke-width:3}.chart-label{font-size:11px;fill:#79747f;font-family:Manrope,sans-serif}.chart-bar{fill:var(--purple)}.chart-bar-lime{fill:var(--lime)}
.course-progress{display:grid;gap:17px}.course-progress-item{display:grid;grid-template-columns:50px 1fr auto;gap:13px;align-items:center}.course-progress-item img{width:50px;height:50px;border-radius:14px;object-fit:cover}.course-progress-item strong{display:block;font-size:.9rem}.course-progress-item span{display:block;color:var(--muted);font-size:.76rem}.progress-track{height:9px;border-radius:99px;background:#ece9ef;overflow:hidden;margin-top:8px}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--purple)}.progress-percent{font-family:"Unbounded";font-size:.85rem}
.dashboard-lower{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-bottom:22px}
.schedule-list,.task-list,.message-list{display:grid;gap:12px}.schedule-item{display:grid;grid-template-columns:62px 1fr;gap:13px;padding:13px;border-radius:17px;background:#f7f5f8}.schedule-time{font-weight:900;color:var(--purple)}.schedule-item strong,.task-item strong,.message-item strong{font-size:.87rem}.schedule-item span,.task-item span,.message-item span{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.task-item{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid #eeeaf0}.task-item:last-child{border-bottom:0}.task-check{width:20px;height:20px;border-radius:7px;border:2px solid var(--purple);margin-top:2px}.task-check.done{background:var(--purple);position:relative}.task-check.done::after{content:"✓";position:absolute;inset:-3px 0 0;text-align:center;color:#fff;font-size:.75rem}.task-status{padding:5px 8px;border-radius:999px;background:var(--purple-light);font-size:.68rem;font-weight:800;color:#49318c}.task-status.lime{background:rgba(214,255,99,.55);color:#334600}
.message-item{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:10px 0}.message-item img{width:42px;height:42px;border-radius:13px;object-fit:cover}.message-time{font-size:.68rem;color:var(--muted)}
.project-table{width:100%;border-collapse:collapse}.project-table th,.project-table td{padding:13px 12px;text-align:left;border-bottom:1px solid #eeeaf0;font-size:.82rem}.project-table th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.project-name{display:flex;align-items:center;gap:11px}.project-name img{width:44px;height:44px;border-radius:12px;object-fit:cover}.status-pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--purple-light);font-size:.7rem;font-weight:800}.status-pill.lime{background:rgba(214,255,99,.55)}
.achievement-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.achievement{padding:16px;border-radius:18px;background:#f6f4f7;text-align:center}.achievement-icon{width:48px;height:48px;margin:0 auto 10px;border-radius:16px;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:1.25rem}.achievement:nth-child(2n) .achievement-icon{background:var(--lime);color:#111}.achievement strong{display:block;font-size:.8rem}.achievement span{font-size:.7rem;color:var(--muted)}
.dashboard-footer{padding:20px 30px;color:var(--muted);font-size:.78rem;display:flex;justify-content:space-between;gap:20px}

@media(max-width:1200px){.dashboard-shell{grid-template-columns:230px minmax(0,1fr)}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-lower{grid-template-columns:1fr 1fr}.dashboard-lower>.admin-card:last-child{grid-column:1/-1}.achievement-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:440px}.auth-panel{padding:28px}.dashboard-shell{display:block}.dashboard-sidebar{position:fixed;left:-290px;z-index:100;width:280px;transition:left .25s}.dashboard-sidebar.open{left:0}.dashboard-menu-toggle{display:grid}.dashboard-topbar{padding:13px 18px}.dashboard-content{padding:20px}.dashboard-grid{grid-template-columns:1fr}.dashboard-search{width:min(360px,45vw)}}
@media(max-width:620px){.auth-visual{min-height:380px}.auth-visual-copy{left:24px;right:24px;bottom:26px}.auth-card{padding:28px}.dashboard-search{display:none}.dashboard-metrics,.dashboard-lower{grid-template-columns:1fr}.dashboard-lower>.admin-card:last-child{grid-column:auto}.dashboard-welcome{grid-template-columns:1fr}.dashboard-date{justify-self:start}.dashboard-content{padding:14px}.admin-card{padding:17px}.achievement-strip{grid-template-columns:1fr 1fr}.project-table th:nth-child(3),.project-table td:nth-child(3){display:none}.dashboard-footer{padding:18px 14px;flex-direction:column}.auth-panel{padding:18px}.auth-card h2{font-size:1.7rem}}


/* V9 - LeoGame Academy brand refinement */
:root{
  --paper:#f8f7fb;
  --paper-deep:#efedf6;
  --white:#ffffff;
  --ink:#111019;
  --muted:#6f6a7b;
  --line:#dfdbea;
  --purple:#6327e8;
  --purple-dark:#35106f;
  --purple-light:#e4d8ff;
  --lime:#d9ff55;
  --lime-soft:#f0ffb5;
  --blue:var(--purple-light);
  --coral:var(--lime-soft);
}
body{background:radial-gradient(circle at 90% 4%,rgba(99,39,232,.08),transparent 22%),var(--paper)}
.announcement{background:linear-gradient(90deg,#34106f,#6327e8 65%,#7e45ff)}
.site-header{background:rgba(248,247,251,.9)}
.nav-shell{border-color:rgba(99,39,232,.18);box-shadow:0 14px 45px rgba(63,24,132,.09)}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--purple-light);color:var(--purple-dark)}
.btn-dark{background:var(--purple-dark);border-color:var(--purple-dark)}
.btn-purple{background:var(--purple);border-color:var(--purple)}
.tag-coral,.lime{background:var(--lime)!important;color:#1a1a12!important}
.blue,.lilac{background:linear-gradient(145deg,#efe9ff,#ddd0ff)}
.coral{background:var(--lime-soft)}
.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup>img{width:46px!important;height:46px!important;object-fit:cover;border-radius:14px}.brand-lockup span{display:grid;line-height:1}.brand-lockup strong{font-size:1.05rem}.brand-lockup small{font-size:.6rem;letter-spacing:.18em;color:var(--purple);margin-top:5px}
.footer-brand .brand-lockup>img{filter:none}.footer-brand .brand-lockup strong{color:#fff}.footer-brand .brand-lockup small{color:var(--lime)}
.hero-copy h1 span,.page-hero h1 span{color:var(--purple)!important}
.hero-media{box-shadow:0 30px 90px rgba(56,16,120,.22)}
.hero-caption{border-left:4px solid var(--lime);padding-left:18px}
.eyebrow{color:var(--purple-dark)}.dark .eyebrow{color:var(--lime)}
.work-card{border:1px solid rgba(99,39,232,.10)}
.course-row:hover h3{color:var(--purple)}

.academy-life-section{background:linear-gradient(180deg,transparent,#eee8ff)}
.academy-photo-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.academy-photo{position:relative;margin:0;border-radius:30px;overflow:hidden;min-height:280px;background:#1d1335}.academy-photo-large{grid-row:span 2;min-height:580px}.academy-photo img{width:100%;height:100%;object-fit:cover}.academy-photo figcaption{position:absolute;left:18px;bottom:18px;background:rgba(31,13,67,.82);color:#fff;padding:10px 14px;border-radius:999px;font-weight:700;backdrop-filter:blur(10px)}
.founder-section{background:linear-gradient(135deg,var(--purple-dark),#6d34e8);color:#fff}.founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}.founder-photo{border-radius:38px;overflow:hidden;max-height:650px}.founder-photo img{width:100%;height:100%;object-fit:cover}.founder-section .lead{color:#ded4f4}.founder-section .eyebrow{color:var(--lime)}.brand-mini{display:flex;align-items:center;gap:16px;margin-top:28px}.brand-mini img{width:76px;height:76px;border-radius:22px}.brand-mini span{color:#e7def6}

/* Dashboard theme system */
.dashboard-body{--dash-bg:#f4f2f8;--dash-card:#fff;--dash-text:#17131f;--dash-muted:#756f7e;--dash-border:#e4dfeb;--dash-side:#24113f;--dash-side-text:#eee7ff;background:var(--dash-bg);color:var(--dash-text)}
.dashboard-body[data-theme="dark"]{--dash-bg:#0f0b16;--dash-card:#191321;--dash-text:#f6f1ff;--dash-muted:#aaa1b5;--dash-border:#332842;--dash-side:#120a20;--dash-side-text:#f3edff}
.dashboard-sidebar{background:linear-gradient(180deg,var(--dash-side),#3d1470);color:var(--dash-side-text)}
.dashboard-main,.dashboard-content{background:var(--dash-bg);color:var(--dash-text)}
.dashboard-topbar,.admin-card,.dashboard-footer{background:var(--dash-card);color:var(--dash-text);border-color:var(--dash-border)}
.dashboard-body[data-theme="dark"] .dashboard-search input,.dashboard-body[data-theme="dark"] .card-head button{background:#241b2e;color:#f7f0ff;border-color:#3b2f49}
.dashboard-body[data-theme="dark"] .metric-title,.dashboard-body[data-theme="dark"] .metric-change,.dashboard-body[data-theme="dark"] .course-progress-item span,.dashboard-body[data-theme="dark"] .schedule-item span,.dashboard-body[data-theme="dark"] .task-item span,.dashboard-body[data-theme="dark"] .message-item span{color:var(--dash-muted)}
.metric-icon,.achievement-icon{background:var(--purple-light);color:var(--purple-dark)}.metric-icon.lime,.achievement-icon:nth-child(even){background:var(--lime);color:#172000}
.progress-track i,.chart-line{stroke:var(--purple);background:var(--purple)}.chart-bar-lime{fill:var(--lime)}
.theme-toggle{font-size:1.15rem;background:var(--purple-light)!important;color:var(--purple-dark)!important}.login-theme-toggle{position:fixed;right:22px;top:22px;z-index:30}
.academy-dashboard-banner{display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:center;background:linear-gradient(120deg,var(--purple-dark),var(--purple));color:#fff;overflow:hidden;margin-bottom:22px}.academy-dashboard-banner h2{font-size:1.8rem;margin:10px 0 8px}.academy-dashboard-banner p{color:#ddd1f6}.academy-dashboard-banner img{width:100%;height:145px;object-fit:cover;border-radius:20px}.dashboard-brand-chip{display:inline-flex;background:var(--lime);color:#151508;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:900;letter-spacing:.08em}
.dashboard-brand .brand-lockup strong{color:#fff}.dashboard-brand .brand-lockup small{color:var(--lime)}

@media(max-width:760px){.academy-photo-grid,.founder-grid{grid-template-columns:1fr}.academy-photo-large{min-height:420px}.academy-dashboard-banner{grid-template-columns:1fr}.academy-dashboard-banner img{height:180px}.brand-lockup span span{display:none}}


/* V10 - real academy media and stronger brand identity */
:root{
  --purple:#6427f1;
  --purple-deep:#35106f;
  --purple-light:#ddd1ff;
  --lime:#d7ff58;
  --lime-soft:#efffc0;
}
.site-header{border-bottom:1px solid rgba(100,39,241,.08)}
.nav-shell{box-shadow:0 18px 55px rgba(53,16,111,.08)}
.announcement{background:linear-gradient(90deg,var(--purple-deep),var(--purple),#7a42ff)}
.btn-dark{background:var(--purple-deep);border-color:var(--purple-deep)}
.btn-dark:hover{background:var(--purple);border-color:var(--purple)}
.btn-purple{background:var(--purple);border-color:var(--purple)}
.tag-purple{background:var(--lime-soft);color:var(--purple-deep)}
.eyebrow{color:var(--purple)}
.hero-copy h1 span{color:var(--purple)!important}
.academy-real-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px}
.academy-real-card{position:relative;min-height:330px;border-radius:32px;overflow:hidden;background:#17121f}
.academy-real-card:first-child{grid-row:span 2;min-height:680px}
.academy-real-card img{width:100%;height:100%;object-fit:cover}
.academy-real-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,8,42,.9))}
.academy-real-card figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;font-weight:800;font-size:1.05rem}
.real-photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.real-photo-strip figure{margin:0;border-radius:24px;overflow:hidden;background:#fff}
.real-photo-strip img{width:100%;height:230px;object-fit:cover}
.real-photo-strip figcaption{padding:16px 18px;color:var(--muted);font-size:.86rem}
.brand-highlight{background:linear-gradient(135deg,var(--purple-deep),var(--purple));color:white}
.brand-highlight .lead{color:#e6ddff}
.brand-highlight .eyebrow{color:var(--lime)}
.lime-card{background:var(--lime-soft)}
.dashboard-brand-banner{background:linear-gradient(120deg,#2b0b5a 0%,#6427f1 55%,#a674ff 100%)!important}
.dashboard-brand-banner .tag{background:var(--lime)!important;color:#271046!important}
.theme-toggle{background:var(--lime)!important;color:#251044!important;border-color:transparent!important}
.dashboard-sidebar{background:linear-gradient(180deg,#251044,#3b167f)!important}
.dashboard-nav a.active,.dashboard-nav a:hover{background:rgba(215,255,88,.16)!important;color:var(--lime)!important}
@media(max-width:980px){.academy-real-grid{grid-template-columns:1fr 1fr}.academy-real-card:first-child{grid-column:1/-1;grid-row:auto;min-height:520px}.real-photo-strip{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.academy-real-grid,.real-photo-strip{grid-template-columns:1fr}.academy-real-card:first-child{min-height:460px}.real-photo-strip img{height:260px}}

/* V15 3D games gallery */
.games-3d-section{overflow:hidden;background:linear-gradient(180deg,var(--paper),#e7ddff 56%,var(--paper))}.games-3d-shell{position:relative;min-height:690px;padding:54px 72px 34px;border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 32%,rgba(107,53,255,.42),transparent 42%),linear-gradient(155deg,#10072a,#050309 68%);box-shadow:0 40px 110px rgba(62,25,150,.25);overflow:hidden}.games-3d-shell:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(214,255,99,.6) 1px,transparent 1px);background-size:42px 42px;opacity:.16;mask-image:linear-gradient(to bottom,#000,transparent 78%)}.games-stage{position:relative;height:500px;perspective:1300px}.games-carousel{--rotation:0deg;position:absolute;left:50%;top:48%;width:270px;height:360px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateY(var(--rotation));transition:transform .8s cubic-bezier(.2,.75,.2,1)}.game-3d-card{position:absolute;inset:0;border-radius:28px;overflow:hidden;background:#140a2b;box-shadow:0 30px 80px rgba(0,0,0,.48);transform:rotateY(calc(var(--i)*72deg)) translateZ(430px);backface-visibility:hidden;border:1px solid rgba(214,255,99,.28)}.game-3d-card img{width:100%;height:100%;object-fit:cover}.game-3d-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(4,2,10,.95))}.game-3d-card span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff}.game-3d-card b{display:block;font-family:"Unbounded",sans-serif;font-size:1.03rem}.game-3d-card small{display:block;margin-top:6px;color:var(--lime);font-weight:800}.gallery-nav{position:absolute;z-index:5;top:46%;width:54px;height:54px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:2rem;backdrop-filter:blur(14px)}.gallery-prev{left:18px}.gallery-next{right:18px}.gallery-nav:hover{background:var(--lime);color:#120829}.gallery-controls{position:relative;z-index:3;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.games-3d-shell .btn-dark{background:#fff;color:#111;border-color:#fff}
@media(max-width:900px){.games-3d-shell{min-height:610px;padding:34px 42px 28px}.games-stage{height:440px}.games-carousel{width:220px;height:300px}.game-3d-card{transform:rotateY(calc(var(--i)*72deg)) translateZ(330px)}}
@media(max-width:640px){.games-3d-shell{padding-inline:20px}.games-stage{height:400px}.games-carousel{width:190px;height:270px}.game-3d-card{transform:rotateY(calc(var(--i)*72deg)) translateZ(255px)}.gallery-nav{top:43%;width:44px;height:44px}.gallery-prev{left:8px}.gallery-next{right:8px}}


/* V16 gaming typography and video gallery */
body {
  font-family: "Exo 2", system-ui, sans-serif;
  font-feature-settings: "kern" 1, "liga" 1;
}
h1, h2, .brand-lockup strong, .dashboard-logo strong {
  font-family: "Russo One", "Exo 2", sans-serif;
}
h1, h2 {
  letter-spacing: -.018em;
}
.hero-copy h1 span,
.section-head h2,
.split h2,
.game-content h2 {
  text-wrap: balance;
}
.video-showcase {
  background:
    radial-gradient(circle at 12% 20%, rgba(214,255,99,.18), transparent 28%),
    radial-gradient(circle at 88% 5%, rgba(107,53,255,.22), transparent 34%),
    #111015;
  color: #fff;
}
.video-showcase .lead { color: #c9c5d1; }
.video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.video-card {
  padding: 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  background: rgba(255,255,255,.06);
  box-shadow: 0 28px 80px rgba(0,0,0,.24);
}
.video-card:last-child { grid-column: 1 / -1; max-width: 880px; width: 100%; justify-self: center; }
.video-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 21px;
  background: #09080c;
}
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-card h3 { margin: 16px 8px 8px; color: #fff; font-family: "Russo One", "Exo 2", sans-serif; font-weight: 400; }
.footer-bottom span:last-child { color: var(--lime); font-weight: 800; }
@media (max-width: 760px) {
  .video-grid { grid-template-columns: 1fr; }
  .video-card:last-child { grid-column: auto; }
}

/* V17 YouTube cards and production contact form */
.youtube-card{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:24px;background:#19171d;border:1px solid rgba(255,255,255,.14)}
.youtube-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease;filter:saturate(.9) brightness(.78)}
.youtube-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,5,15,.72))}
.youtube-card:hover img{transform:scale(1.035);filter:saturate(1.08) brightness(.9)}
.youtube-play{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;transform:translate(-50%,-50%);background:var(--lime);color:#180c32;font-size:1.6rem;box-shadow:0 18px 48px rgba(0,0,0,.38);transition:transform .25s ease}
.youtube-card:hover .youtube-play{transform:translate(-50%,-50%) scale(1.08)}
.youtube-badge{position:absolute;z-index:2;right:18px;bottom:16px;padding:7px 11px;border-radius:999px;background:rgba(10,7,17,.78);color:#fff;font-size:.72rem;font-weight:800;backdrop-filter:blur(10px)}
.video-showcase .btn-lime{margin-top:22px}
.consent-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;color:var(--muted);font-size:.86rem;line-height:1.45}.consent-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--purple)}
.contact-form.is-sending{opacity:.72;pointer-events:none}.contact-form .form-status.success{color:#257a38}.contact-form .form-status.error{color:#b4243b}

/* V19 - favicon and homepage academy photography */
.course-intro-grid .audience-card img {
  object-fit: cover;
  object-position: center center;
}
.course-intro-grid .audience-card {
  min-height: 500px;
}
@media (min-width: 900px) {
  .course-intro-grid .audience-card { min-height: 520px; }
}


/* V20 engine cards */
.audience-card.engine-card { background:#050505; min-height:510px; }
.audience-card.engine-card .engine-logo { inset:0; width:100%; height:100%; max-height:none; object-fit:cover; opacity:1; }
.audience-card.engine-card::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.74) 48%, rgba(5,5,5,.12) 100%); }
.audience-card.engine-card > div { position:relative; z-index:2; color:#fff; }
.audience-card.engine-card .lead { color:#e9e7ee; }
.audience-card.engine-card .eyebrow { color:var(--lime); }
.audience-card.engine-card .btn { background:var(--lime); border-color:var(--lime); color:#101014; }

/* V20 FAQ arrows */
.faq-arrow { display:inline-grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border:1px solid var(--line); border-radius:50%; color:var(--purple); font-size:1.45rem !important; line-height:1; transition:transform .25s ease, background .25s ease; }
.faq-item.open .faq-arrow { transform:rotate(180deg); background:var(--lime); color:#111116; border-color:var(--lime); }

/* V21 - engine cards, auth UI, and profile polish */
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@500;600;700;800&display=swap');

.audience-card.engine-card {
  min-height: 460px;
  align-items: stretch;
}
.audience-card.engine-card .engine-logo {
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  padding: 32px 36px 32px 42%;
  background: #000;
}
.audience-card.engine-card::after {
  background: linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.88) 33%, rgba(5,5,5,.42) 65%, rgba(5,5,5,.12) 100%);
}
.audience-card.engine-card > div {
  max-width: 48%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.audience-card.engine-card h3 { margin-bottom: 14px; }

.login-page {
  min-height: 100vh;
  background: radial-gradient(circle at top right, rgba(99,39,232,.12), transparent 26%), var(--paper);
}
.auth-card .small {
  line-height: 1.5;
}
.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 6px;
  background: #f3f0fb;
  border-radius: 18px;
  margin: 22px 0 20px;
}
.auth-tab {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
}
.auth-tab.is-active {
  background: #fff;
  color: var(--purple-dark);
  box-shadow: 0 8px 20px rgba(53,16,111,.08);
}
.auth-form[hidden] { display: none !important; }
.auth-card .btn,
.auth-card .google-btn { width: 100%; }
.auth-card .lead { color: var(--muted); }
.auth-card .form-status.success { color: #257a38; }
.auth-card .form-status.error { color: #b4243b; }
.auth-card .password-toggle { line-height: 1; }
.auth-panel-inner { width: min(100%, 580px); }
.auth-meta {
  margin-top: 18px;
  padding: 14px 16px;
  background: #f7f5fd;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.auth-meta ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: .9rem;
}
.auth-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  color: #fff;
  margin-bottom: 22px;
}
.auth-user-chip img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
}

.dashboard-brand-banner,
.dashboard-primary-button { display: none; }
.dashboard-sidebar .dashboard-user-email,
.dashboard-topbar .dashboard-user-email {
  color: var(--muted);
  font-size: .78rem;
}
.dashboard-user-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--purple-light);
  color: var(--purple-dark);
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
}
.dashboard-user-badge small {
  color: inherit;
  opacity: .85;
}
.dashboard-protected-note {
  display: none;
  margin-bottom: 20px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff6d5;
  color: #584400;
  font-weight: 700;
}
.dashboard-body.is-guest .dashboard-protected-note {
  display: block;
}
.dashboard-profile { grid-template-columns: 56px 1fr; }
.dashboard-profile strong { font-size: .95rem; }
.dashboard-user-email { display: block; margin-top: 3px; }

@media(max-width:900px){
  .audience-card.engine-card .engine-logo { padding: 24px 24px 24px 46%; }
  .audience-card.engine-card > div { max-width: 52%; }
}
@media(max-width:760px){
  .audience-card.engine-card { min-height: 360px; }
  .audience-card.engine-card .engine-logo { padding: 26px 22px 22px; object-position: center bottom; }
  .audience-card.engine-card::after { background: linear-gradient(180deg, rgba(5,5,5,.18), rgba(5,5,5,.86)); }
  .audience-card.engine-card > div { max-width: 100%; justify-content: flex-start; padding-top: 12px; }
}

/* V24: quiz and callback additions */
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.quiz-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.quiz-visual{background:linear-gradient(135deg,var(--purple),#391477);min-height:360px;border-radius:36px;display:grid;place-items:center;color:#fff;padding:40px;position:relative;overflow:hidden}.quiz-visual:after{content:"?";position:absolute;font-size:17rem;font-weight:900;opacity:.12}.quiz-shell{padding:34px;max-width:900px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.quiz-progress{height:10px;background:#eee7fa;border-radius:999px;overflow:hidden;margin-bottom:26px}.quiz-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--lime));transition:.3s}.quiz-question{display:none}.quiz-question.active{display:block}.quiz-options{display:grid;gap:12px;margin:22px 0}.quiz-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;padding:15px 16px;cursor:pointer;background:var(--surface)}.quiz-option:hover{border-color:var(--purple)}.quiz-actions{display:flex;justify-content:space-between;gap:12px}.quiz-result{display:none;text-align:center}.quiz-result.active{display:block}.result-score{font-size:clamp(4rem,10vw,8rem);font-weight:950;color:var(--purple);line-height:1}.quiz-badge{display:inline-flex;background:var(--lime);padding:8px 14px;border-radius:999px;font-weight:900}.quiz-cta{margin-top:28px;padding:24px;border-radius:22px;background:#f1ebff}
@media(max-width:980px){.quiz-intro{grid-template-columns:1fr}}@media(max-width:640px){.choice-grid{grid-template-columns:1fr}.quiz-shell{padding:22px}.quiz-actions{flex-direction:column}.quiz-actions .btn{width:100%}}


/* V25 course pages and dropdown navigation */
.nav-dropdown{position:relative;display:flex;align-items:center;height:100%}.dropdown-trigger span{font-size:.8em;margin-left:3px}.dropdown-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%,10px);width:290px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(23,14,37,.16);opacity:0;visibility:hidden;pointer-events:none;transition:.22s;z-index:50}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.dropdown-menu a{display:block;padding:10px 12px;border-radius:12px;line-height:1.25}.dropdown-menu a:hover{background:var(--lilac);color:var(--purple)}.dropdown-menu .dropdown-all{font-weight:900;background:var(--dark);color:#fff;margin-bottom:7px}.mobile-menu details{border-bottom:1px solid var(--line);padding:5px 0}.mobile-menu summary{font-weight:900;padding:10px 0;cursor:pointer}.mobile-menu details a{padding-left:16px;font-size:.92rem}.hero-media-clean{aspect-ratio:1.18/1;min-height:520px}.hero-media-clean picture,.hero-media-clean img{width:100%;height:100%;display:block}.hero-media-clean img{object-fit:cover;object-position:center}.game-reference-image{aspect-ratio:16/10}.game-reference-image img{width:100%;height:100%;object-fit:cover}.course-row-link{text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.course-row-link:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(38,19,72,.12)}.text-link{display:inline-block;margin-top:14px;color:var(--purple);font-weight:900}.course-detail-hero{padding:72px 0 84px;background:linear-gradient(135deg,#f8f5ff 0,#fff 52%,#efffc7 100%)}.course-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.course-detail-image{height:620px;border-radius:38px;overflow:hidden;background:#111}.course-detail-image img{width:100%;height:100%;object-fit:cover}.course-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.course-meta div{padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.8)}.course-meta b,.course-meta span{display:block}.course-meta span{margin-top:6px;color:var(--muted);font-size:.9rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{padding:30px;border:1px solid var(--line);border-radius:26px;background:#fff}.feature-card>span{font-family:"Russo One",sans-serif;color:var(--purple);font-size:1.5rem}.feature-card h3{margin:18px 0 8px}.detail-two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:54px;align-items:start}.module-list{list-style:none;padding:0;margin:28px 0 0}.module-list li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid rgba(30,20,45,.14)}.module-list li>span{font-family:"Russo One",sans-serif;font-size:1.3rem;color:var(--purple)}.module-list b{font-size:1.08rem}.module-list p{margin:5px 0 0;color:var(--muted)}.course-side-card{position:sticky;top:120px;padding:34px;border-radius:28px;background:var(--dark);color:#fff}.course-side-card ul{padding-left:20px;margin:22px 0 28px}.course-side-card li{margin:12px 0;color:#ddd6e8}.compact-hero{padding:78px 0 48px}.center-actions{justify-content:center}.news-card img{aspect-ratio:16/10;object-fit:cover}.news-grid{align-items:stretch}.news-card{height:100%}
@media(max-width:1180px){.nav-links{gap:13px;font-size:.78rem}.dropdown-menu{width:260px}.course-detail-grid{gap:30px}.course-detail-image{height:520px}}
@media(max-width:900px){.course-detail-grid,.detail-two-col{grid-template-columns:1fr}.course-detail-image{height:440px;order:-1}.course-meta,.feature-grid{grid-template-columns:1fr}.course-side-card{position:static}.hero-media-clean{min-height:420px}.nav-dropdown{display:none}}
@media(max-width:560px){.course-detail-hero{padding:38px 0 56px}.course-detail-image{height:320px;border-radius:24px}.course-meta{grid-template-columns:1fr}.module-list li{grid-template-columns:48px 1fr}.hero-media-clean{min-height:330px}.course-row-link .course-thumb{height:210px}}

/* ===== V26 polish fixes ===== */
.site-header, .nav-shell, .nav-links, .nav-actions { overflow: visible; }
.nav-dropdown { position: relative; display: flex; align-items: center; height: 100%; padding-bottom: 14px; margin-bottom: -14px; }
.dropdown-trigger { display: inline-flex; align-items: center; gap: 4px; }
.dropdown-menu { top: calc(100% + 2px); transform: translate(-50%, 8px); }
.nav-dropdown.open .dropdown-menu,
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }

.audience-card.photo-card { min-height: 420px; background: #111; color: #fff; }
.audience-card.photo-card > img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; opacity: 1; }
.audience-card.photo-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(10,10,16,.92) 0%, rgba(10,10,16,.76) 46%, rgba(10,10,16,.28) 100%); }
.audience-card.photo-card > div { position: relative; z-index: 2; max-width: 55%; }
.audience-card.photo-card .lead { color: #e5e2ef; }
.audience-card.photo-card .eyebrow { color: var(--lime); }
.audience-card.photo-card .btn { background: var(--lime); border-color: var(--lime); color: #111116; }

.gallery-equal-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.gallery-equal-3 .work-card,
.gallery-equal-3 .media-card { margin: 0; break-inside: avoid; }
.media-card { border-radius: 26px; overflow: hidden; background: #fff; border: 1px solid rgba(37,25,59,.08); box-shadow: 0 16px 40px rgba(32,18,52,.08); }
.media-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.media-card-body { padding: 18px 20px 22px; }
.media-card-body h3 { margin: 10px 0 8px; font-size: 1.4rem; }
.media-card-body p { margin: 0; color: var(--muted); }

.academy-real-grid.curated { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.academy-real-grid.curated .academy-real-card { min-height: 0; }
.academy-real-card { margin: 0; border-radius: 26px; overflow: hidden; background: #fff; border: 1px solid rgba(37,25,59,.08); }
.academy-real-card img { width: 100%; height: 280px; object-fit: cover; display: block; }
.academy-real-card figcaption { padding: 16px 18px; color: var(--muted); font-size: .92rem; }
.real-photo-strip.curated { grid-template-columns: repeat(3, minmax(0,1fr)); }
.real-photo-strip.curated img { height: 250px; }

@media (max-width: 980px) {
  .gallery-equal-3,
  .academy-real-grid.curated,
  .real-photo-strip.curated { grid-template-columns: 1fr 1fr; }
  .audience-card.photo-card > div { max-width: 68%; }
}
@media (max-width: 640px) {
  .gallery-equal-3,
  .academy-real-grid.curated,
  .real-photo-strip.curated { grid-template-columns: 1fr; }
  .audience-card.photo-card > div { max-width: 100%; }
  .audience-card.photo-card::after { background: linear-gradient(180deg, rgba(10,10,16,.22), rgba(10,10,16,.86)); }
}


/* ===== V27 usability + media fixes ===== */
.page-hero-media img,
.game-reference-image img,
.academy-real-card img,
.real-photo-strip img {
  object-position: center top;
}

.audience-card.engine-card {
  min-height: 430px;
}
.audience-card.engine-card .engine-logo {
  background: #000;
  object-fit: contain;
  object-position: center center;
  padding: 36px 34px 36px 44%;
}
.audience-card.engine-card::after {
  background: linear-gradient(90deg, rgba(5,5,5,.97) 0%, rgba(5,5,5,.9) 34%, rgba(5,5,5,.48) 66%, rgba(5,5,5,.08) 100%);
}
.audience-card.engine-card > div {
  max-width: 47%;
}

.ukr-gamedev-grid {
  columns: unset;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
}
.ukr-gamedev-grid .work-card { margin: 0; }
.ukr-gamedev-grid .work-card img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  object-position: center;
  display: block;
}

.floating-actions {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 120;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}
.floating-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(24,12,50,.08);
  box-shadow: 0 18px 40px rgba(23,14,37,.16);
  font-weight: 900;
  transition: transform .22s ease, opacity .22s ease, background .22s ease;
}
.floating-action:hover { transform: translateY(-2px); }
.floating-action--callback {
  background: var(--purple);
  color: #fff;
}
.floating-action--top {
  background: #fff;
  color: var(--purple-dark);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.floating-action--top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.floating-action__icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.18);
  font-size: 14px;
  line-height: 1;
}
.floating-action--top .floating-action__icon {
  background: var(--purple-light);
}
@media (max-width: 980px) {
  .ukr-gamedev-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .audience-card.engine-card { min-height: 340px; }
  .audience-card.engine-card .engine-logo { padding: 28px 22px 24px; }
  .audience-card.engine-card > div { max-width: 100%; }
  .audience-card.engine-card::after { background: linear-gradient(180deg, rgba(5,5,5,.16), rgba(5,5,5,.88)); }
  .floating-actions { right: 14px; bottom: 14px; }
  .floating-action { min-height: 48px; padding: 0 14px; font-size: .92rem; }
}
@media (max-width: 640px) {
  .ukr-gamedev-grid { grid-template-columns: 1fr; }
  .floating-action__label--top { display: none; }
}


/* ===== V28 world imagery + layout fixes ===== */
.hero-media-slider { min-height: 680px; background:#07070a; }
.hero-slider, .hero-slide { position:absolute; inset:0; }
.hero-slide { opacity:0; transform:scale(1.015); transition:opacity .8s ease, transform 1.2s ease; }
.hero-slide.is-active { opacity:1; transform:scale(1); }
.hero-slide img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slider-dots { position:absolute; z-index:5; left:28px; bottom:24px; display:flex; gap:8px; }
.hero-slider-dots button { width:10px; height:10px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.38); box-shadow:0 0 0 1px rgba(0,0,0,.15); }
.hero-slider-dots button.is-active { width:28px; border-radius:999px; background:var(--lime); }
.hero-media-slider::after { background:linear-gradient(180deg,rgba(5,4,10,.04),rgba(5,4,10,.24) 60%,rgba(5,4,10,.62)); }

.world-reference-gallery { background:#0e0d12; color:#fff; }
.world-reference-gallery .lead { color:#c3beca; }
.world-game-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.world-game-grid figure { margin:0; min-width:0; border-radius:24px; overflow:hidden; background:#050505; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.world-game-grid img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; transition:transform .35s ease; }
.world-game-grid figure:hover img { transform:scale(1.035); }

/* Keep engine logos large and readable */
.audience-card.engine-card { min-height:370px; padding:34px; display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:22px; background:#050505; color:#fff; }
.audience-card.engine-card::after { display:none; }
.audience-card.engine-card > div { max-width:none; }
.audience-card.engine-card .lead { color:#d8d4df; }
.audience-card.engine-card .eyebrow { color:var(--lime); }
.audience-card.engine-card .engine-logo { position:relative; inset:auto; width:100%; height:250px; max-height:none; object-fit:contain; object-position:center; padding:20px; background:#050505; border-radius:26px; }
.audience-card.engine-card .btn { background:var(--lime); color:#111; border-color:var(--lime); }

/* Fix invisible content on white panels inside dark course sections */
.dark .panel { color:var(--ink); }
.dark .panel p, .dark .panel li { color:var(--muted); }
.detail-two-col > .panel { padding:34px; min-height:220px; }

.portfolio-latest-grid { columns:unset; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.portfolio-latest-grid .work-card { margin:0; }
.portfolio-latest-grid .work-card img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center; }

@media (max-width:1100px){
  .world-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .audience-card.engine-card{grid-template-columns:1fr;}
  .audience-card.engine-card .engine-logo{height:190px;}
}
@media (max-width:760px){
  .hero-media-slider{min-height:430px;}
  .world-game-grid{grid-template-columns:1fr;}
  .portfolio-latest-grid{grid-template-columns:1fr;}
  .audience-card.engine-card{min-height:0;}
}


/* ===== V29 full-bleed homepage + readable engine marks ===== */
.hero-full-slider {
  position: relative;
  min-height: 760px;
  padding: 0;
  overflow: hidden;
  background: #09070d;
  color: #fff;
}
.hero-full-slider .hero-backdrop {
  position: absolute;
  inset: 0;
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
  background: #09070d;
}
.hero-full-slider .hero-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(8,5,14,.94) 0%, rgba(14,7,28,.78) 35%, rgba(14,7,28,.36) 62%, rgba(8,5,14,.18) 100%),
    linear-gradient(0deg, rgba(8,5,14,.55), transparent 45%);
}
.hero-full-slider .hero-stage {
  position: relative;
  z-index: 4;
  min-height: 760px;
  display: flex;
  align-items: center;
}
.hero-full-slider .hero-copy {
  width: min(760px, 62%);
  padding: 90px 0 82px;
}
.hero-full-slider .hero-copy h1,
.hero-full-slider .hero-copy .lead,
.hero-full-slider .hero-fact,
.hero-full-slider .hero-fact span { color: #fff; }
.hero-full-slider .hero-copy h1 span { color: var(--lime) !important; }
.hero-full-slider .hero-copy .lead { color: rgba(255,255,255,.86); }
.hero-full-slider .hero-fact { border-color: rgba(255,255,255,.26); }
.hero-full-slider .hero-fact span { color: rgba(255,255,255,.72); }
.hero-full-slider .btn-dark { background: var(--purple); border-color: var(--purple); color: #fff; }
.hero-full-slider .btn:not(.btn-dark) { background: rgba(255,255,255,.94); border-color: rgba(255,255,255,.94); color: #111116; }
.hero-full-slider .hero-slider-dots { left: max(28px, calc((100vw - min(1380px, calc(100vw - 48px))) / 2)); bottom: 28px; z-index: 6; }
.hero-full-slider .hero-slide img { object-position: center center; }

/* Engine cards: use tightly cropped logo assets so the marks do not appear tiny. */
.audience-card.engine-card {
  grid-template-columns: minmax(0,1fr) minmax(360px,.9fr);
  min-height: 390px;
  overflow: hidden;
}
.audience-card.engine-card .engine-logo {
  width: 100%;
  height: 290px;
  padding: 6px;
  object-fit: contain;
  object-position: center;
  border-radius: 22px;
  background: #000;
}

/* Full-width 4K game references on the academy page. */
.about-game-4k img,
.page-hero-media.game-reference-image img { image-rendering: auto; }
.audience-card.photo-card > img { object-position: center; }

@media (max-width: 900px) {
  .hero-full-slider { min-height: 700px; }
  .hero-full-slider .hero-stage { min-height: 700px; }
  .hero-full-slider .hero-copy { width: 100%; padding: 82px 0 86px; }
  .hero-full-slider .hero-backdrop::after {
    background: linear-gradient(180deg, rgba(8,5,14,.42) 0%, rgba(8,5,14,.82) 60%, rgba(8,5,14,.96) 100%);
  }
  .audience-card.engine-card { grid-template-columns: 1fr; }
  .audience-card.engine-card .engine-logo { height: 240px; }
}
@media (max-width: 560px) {
  .hero-full-slider { min-height: 760px; }
  .hero-full-slider .hero-stage { min-height: 760px; align-items: flex-end; }
  .hero-full-slider .hero-copy { padding: 230px 0 78px; }
  .hero-full-slider .hero-facts { grid-template-columns: 1fr 1fr; }
  .hero-full-slider .hero-slider-dots { left: 20px; bottom: 20px; }
  .audience-card.engine-card .engine-logo { height: 200px; }
}

/* V30 - full dark gaming theme requested by client */
:root{
  --paper:#09090f;
  --paper-deep:#0f1018;
  --white:#ffffff;
  --ink:#f7f5ff;
  --muted:#b7b1c8;
  --line:#262637;
  --purple:#6d32ff;
  --purple-dark:#2a1658;
  --purple-light:#1d1335;
  --lime:#d9ff55;
  --lime-soft:#232a12;
  --blue:#141528;
  --coral:#181a12;
  --dark:#07070c;
  --shadow:0 28px 90px rgba(0,0,0,.42);
}
html{background:var(--dark)}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 14% 12%, rgba(109,50,255,.18), transparent 22%),
    radial-gradient(circle at 86% 8%, rgba(217,255,85,.08), transparent 18%),
    radial-gradient(circle at 82% 72%, rgba(109,50,255,.14), transparent 24%),
    linear-gradient(180deg, #07070c 0%, #0a0a12 30%, #090911 62%, #06060a 100%);
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:auto;
  width:40vw;
  height:40vw;
  pointer-events:none;
  z-index:-1;
  filter:blur(90px);
  opacity:.2;
}
body::before{
  top:-10vw;
  left:-8vw;
  background:radial-gradient(circle, rgba(109,50,255,.9) 0%, rgba(109,50,255,.24) 45%, transparent 72%);
}
body::after{
  right:-10vw;
  bottom:-6vw;
  background:radial-gradient(circle, rgba(217,255,85,.38) 0%, rgba(109,50,255,.18) 42%, transparent 72%);
}
.skip-link{background:#fff;color:#08080d}
.lead,.small,.value-row p,.course-row p,.work-card p,.review footer,.news-meta,.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.section,.section-sm,.academy-life-section,.founder-section{background:transparent}
.panel,
.work-card,
.news-card,
.price-card,
.review,
.contact-form,
.contact-aside,
.auth-card,
.admin-card,
.student-story,
.audience-card,
.nav-shell,
.mobile-menu a,
.filter-btn,
.lightbox-close{
  background:rgba(16,16,24,.92);
  color:var(--ink);
  border:1px solid rgba(109,50,255,.16);
  box-shadow:0 20px 60px rgba(0,0,0,.32);
}
.tag{background:#161722;color:#e9e4ff}
.tag-purple{background:#241941;color:#efe9ff}
.tag-coral{background:rgba(217,255,85,.18)!important;color:#f2ffd2!important}
.lilac,.blue{background:linear-gradient(145deg, rgba(33,26,54,.95), rgba(18,19,32,.95))}
.coral,.lime{background:linear-gradient(145deg, rgba(28,34,14,.94), rgba(15,19,10,.96)); color:#f3ffd1}
.dark{background:#09090f;color:#fff}
.announcement{
  background:linear-gradient(90deg,#190c37 0%, #5120c5 48%, #7436ff 82%, #6d32ff 100%);
  color:#fff;
  border-bottom:1px solid rgba(217,255,85,.12);
}
.site-header{background:rgba(7,7,12,.86);border-bottom:1px solid rgba(109,50,255,.12)}
.nav-shell{background:rgba(14,14,22,.88);border-color:rgba(109,50,255,.22)}
.nav-links a,.mobile-menu a,.brand-lockup strong,.dashboard-user strong{color:#fff}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:rgba(109,50,255,.18);color:#fff}
.brand-lockup small{color:var(--lime)}
.btn{border-color:rgba(255,255,255,.25);color:#fff;background:transparent}
.btn:hover{box-shadow:0 8px 30px rgba(109,50,255,.22)}
.btn-white{background:#fff;border-color:#fff;color:#0b0b10}
.btn-dark{background:#14141e;border-color:#2e2e42;color:#fff}
.btn-purple{background:linear-gradient(135deg,#5d28e0,#7d46ff);border-color:#7d46ff;color:#fff}
.menu-btn{background:#12131c;border-color:#2c2f40}
.menu-btn span,.menu-btn::before,.menu-btn::after{background:#fff}
.hero,
.page-hero{background:transparent}
.hero-fact,.faq-item,.course-row,.value-row,.task-item,.footer-bottom,.project-table th,.project-table td{border-color:rgba(255,255,255,.08)}
.hero-fact span,.hero-copy .lead,.page-hero .lead,.faq-a > div,.project-table th,.task-item span,.schedule-item span,.message-item span,.dashboard-sub,.dashboard-date,.dashboard-search input{color:var(--muted)}
.hero-media,.split-media,.page-hero-media,.course-thumb,.process-pair img,.academy-photo,.founder-photo{box-shadow:0 28px 80px rgba(0,0,0,.36)}
.hero-caption{border-left-color:var(--lime)}
.filter-btn{background:#12131c;color:#ece7ff;border:1px solid rgba(109,50,255,.16)}
.filter-btn.active{background:linear-gradient(135deg,#5d28e0,#7d46ff);color:#fff}
.price-card.featured{background:linear-gradient(145deg, rgba(98,39,232,.28), rgba(17,16,27,.98))}
.news-body,.work-card-body{background:rgba(12,12,18,.94)}
.contact-aside{background:linear-gradient(145deg, rgba(98,39,232,.18), rgba(15,15,22,.96))}
.field input,.field textarea,.field select,.dashboard-search input{
  background:#0f1018;
  color:#fff;
  border-color:#28293a;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(109,50,255,.18)}
.form-status{color:var(--lime)}
.footer{background:linear-gradient(180deg,#050509 0%, #09090e 100%)}
.footer a,.footer-brand p,.footer-bottom{color:#b7b1c8}
.footer a:hover{color:#fff}
.footer-brand .brand-lockup small{color:var(--lime)}
.placeholder-note{color:#8f89a0}
.auth-page{background:#08080d}
.auth-visual::after{background:linear-gradient(180deg,rgba(16,16,20,.18),rgba(8,8,12,.92)),linear-gradient(90deg,rgba(109,50,255,.38),rgba(217,255,85,.08) 55%, transparent 85%)}
.dashboard-body{--dash-bg:#09090f;--dash-card:#12121a;--dash-text:#f7f5ff;--dash-muted:#b7b1c8;--dash-border:#29293b;--dash-side:#0b0b10;--dash-side-text:#f6f2ff;background:var(--dash-bg);color:var(--dash-text)}
.metric-icon{background:rgba(109,50,255,.2);color:#d8c6ff}.metric-icon.lime{background:rgba(217,255,85,.18);color:#f1ffd3}
.dashboard-sidebar{background:linear-gradient(180deg,#0c0c12 0%, #12101c 100%)}
.dashboard-link{color:#e8e2f6}.dashboard-link.active,.dashboard-link:hover{background:rgba(109,50,255,.18);color:#fff}
.schedule-item,.achievement,.task-status,.status-pill,.dashboard-welcome{background:#13141d;color:#fff;border:1px solid rgba(109,50,255,.14)}
.task-status.lime,.status-pill.lime{background:rgba(217,255,85,.16);color:#efffc9}
.dashboard-date{background:#12131c;border-color:#2b2d3c;color:#fff}
.project-table,.card-head h2,.dashboard-topbar h1,.price-card h3,.news-body h3,.work-card h3,.review blockquote,.faq-q,.field label{color:#fff}
.card-head a,.card-head button,.value-number,.course-index,.eyebrow,.brand-lockup small{color:var(--lime)}
.chart-grid-line{stroke:#282a37}.chart-label{fill:#a9a1b8}.progress-track{background:#222432}.progress-track i,.chart-line,.chart-bar{background:var(--purple);stroke:var(--purple);fill:var(--purple)}
.chart-bar-lime{fill:var(--lime)}
.academy-photo figcaption{background:rgba(10,10,16,.82);border:1px solid rgba(109,50,255,.2)}
.founder-section{background:linear-gradient(135deg,#0e0d14 0%, #1b1330 48%, #100f1b 100%)}
.founder-section .lead,.brand-mini span{color:#c4bfd2}
@media (max-width:760px){
  body::before,body::after{display:none}
  .nav-shell,.panel,.work-card,.news-card,.price-card,.review,.contact-form,.contact-aside{box-shadow:0 14px 34px rgba(0,0,0,.22)}
}

/* V31 - unified background gradient, remove cabinet UI, remove eyebrow labels */
body{
  background:
    linear-gradient(90deg, #25184b 0%, #221747 18%, #1c143f 35%, #181237 52%, #130f2f 70%, #0d0b22 86%, #090913 100%) fixed !important;
  color: var(--ink);
}
html{background:#0b0a16 !important}
body::before,
body::after{display:none !important}
.section,
.section-sm,
.academy-life-section,
.founder-section,
.page-hero,
.hero,
.page-shell,
main,
.footer{
  background: transparent !important;
}
.eyebrow{display:none !important}
.nav-actions .btn[href="login.html"],
.mobile-menu a[href="login.html"]{display:none !important}
.nav-shell,
.panel,
.work-card,
.news-card,
.price-card,
.review,
.contact-form,
.contact-aside,
.auth-card,
.admin-card,
.student-story,
.audience-card,
.filter-btn,
.lightbox-close,
.page-hero-media,
.hero-media,
.split-media,
.course-thumb,
.process-pair img,
.academy-photo,
.founder-photo{
  background: rgba(10,10,18,.76) !important;
}
.site-header{background:rgba(10,10,18,.88) !important}
.announcement{background:linear-gradient(90deg,#36167c 0%, #5f2cff 48%, #6f35ff 100%) !important}
.footer{border-top:1px solid rgba(255,255,255,.08)}

/* V32 - pure black site background + pricing/events refinements */
html,
body,
main,
#main,
.section,
.section-sm,
.page-hero,
.hero,
.academy-life-section,
.founder-section,
.page-shell,
.footer,
.lilac,
.blue,
.coral,
.lime,
.dark{
  background:#050507 !important;
}
body{
  background-image:none !important;
  color:#fff;
}
.site-header{
  background:rgba(5,5,7,.96) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.announcement{
  background:#050507 !important;
  border-bottom:1px solid rgba(109,50,255,.55) !important;
  color:#fff !important;
}
.nav-shell{
  background:#0a0a0e !important;
  border-color:rgba(255,255,255,.09) !important;
}
.nav-links a[aria-current="page"],
.nav-links a:hover{background:rgba(109,50,255,.22)!important}

.hot-course-card{
  min-height:360px;
  padding:42px;
  border-radius:34px;
  background:linear-gradient(145deg,#171021 0%,#0a0a0e 58%,#101207 100%);
  border:1px solid rgba(217,255,85,.42);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.hot-badge{
  display:inline-flex;
  padding:8px 13px;
  border-radius:999px;
  background:var(--lime);
  color:#0a0a0d;
  font-weight:900;
  letter-spacing:.08em;
  font-size:.78rem;
}
.hot-date{margin:22px 0 8px;color:#c9bfdd;font-weight:800;letter-spacing:.05em}
.hot-course-card h2{font-size:clamp(2.7rem,5vw,5.4rem);margin:0 0 15px;color:#fff}
.hot-course-card p{color:#c5bfd0;max-width:600px}
.btn-lime{background:var(--lime)!important;color:#111!important;border-color:var(--lime)!important}
.program-price-grid .price-card{min-height:100%;display:flex;flex-direction:column}
.program-price-grid .price-card .btn{margin-top:auto;align-self:flex-start}
.adult-course-list{display:grid;gap:14px}
.adult-course-row{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:22px;
  align-items:center;
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  background:#0b0b10;
  text-decoration:none;
  transition:.22s ease;
}
.adult-course-row:hover{transform:translateY(-2px);border-color:rgba(109,50,255,.62);background:#0f0d16}
.adult-course-row>span{font-size:1.35rem;font-weight:900;color:var(--purple)}
.adult-course-row h3{margin:0 0 6px;color:#fff;font-size:1.45rem}
.adult-course-row p{margin:0;color:#aaa4b4}
.adult-course-row>b{color:#fff}
.adult-course-row.hot-row{border-color:rgba(217,255,85,.5);box-shadow:inset 4px 0 0 var(--lime)}
.adult-course-row em{font-style:normal;color:#0a0a0d;background:var(--lime);border-radius:999px;padding:4px 9px;font-size:.68em;vertical-align:middle;margin-left:8px}
.reviews-dark .review{background:#0b0b10!important}
.pricing-cta{border-top:1px solid rgba(255,255,255,.08)}
.featured-event{border-color:rgba(217,255,85,.42)!important;box-shadow:0 0 0 1px rgba(217,255,85,.08),0 24px 70px rgba(0,0,0,.34)!important}
.event-grid .news-card{background:#0b0b10!important}
.event-grid .news-body{background:#0b0b10!important}
@media(max-width:760px){
  .hot-course-card{padding:28px;min-height:auto}
  .adult-course-row{grid-template-columns:48px 1fr;gap:14px;padding:21px}
  .adult-course-row>b{grid-column:2}
}

/* Combined world references + Ukrainian GameDev block */
.ukr-gamedev-followup { margin-top: 52px; }
@media (max-width: 760px) { .ukr-gamedev-followup { margin-top: 34px; } }

/* V35 - force black backgrounds consistently across all pages */
html,
body,
main,
#main,
.page-shell,
.section,
.section-sm,
.hero,
.page-hero,
.course-detail-hero,
.compact-hero,
.games-3d-section,
.academy-life-section,
.ukr-gamedev-followup,
.founder-section,
.footer {
  background: #050507 !important;
}

body {
  background-color: #050507 !important;
  background-image: none !important;
}

.course-detail-hero,
.page-hero,
.hero,
.compact-hero {
  border-top: 0 !important;
}

.dropdown-menu,
.feature-card,
.course-meta div,
.course-side-card,
.detail-two-col > .panel,
.games-3d-shell,
.auth-card,
.dashboard-welcome,
.schedule-item,
.achievement,
.task-status,
.status-pill,
.event-grid .news-card,
.event-grid .news-body {
  background: #0b0b10 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.09) !important;
}

.dropdown-menu {
  box-shadow: 0 24px 60px rgba(0,0,0,.45) !important;
}

.dropdown-menu a,
.dropdown-menu .dropdown-all,
.course-meta b,
.feature-card h3,
.detail-two-col > .panel h3 {
  color: #fff !important;
}

.dropdown-menu a:hover,
.dropdown-menu a:focus,
.dropdown-menu .dropdown-all:hover,
.dropdown-menu .dropdown-all:focus {
  background: rgba(109,50,255,.22) !important;
  color: #fff !important;
}

.dropdown-menu .dropdown-all {
  background: #050507 !important;
}

.course-meta span,
.feature-card p,
.detail-two-col > .panel p {
  color: var(--muted) !important;
}

.module-list li,
.course-meta div,
.feature-card,
.detail-two-col > .panel {
  border-color: rgba(255,255,255,.08) !important;
}

.page-hero-media,
.course-detail-image,
.hero-media,
.split-media,
.games-3d-shell,
.academy-photo,
.founder-photo,
.process-pair img,
.course-thumb,
.work-card,
.news-card,
.price-card,
.review,
.contact-form,
.contact-aside,
.student-story,
.audience-card,
.filter-btn {
  box-shadow: 0 22px 70px rgba(0,0,0,.34) !important;
}

/* V36 - homepage cleanup, navigation cleanup, bottom-only top button */
.consultation-lime{
  color:var(--lime)!important;
}

/* Keep callback on the right, place the back-to-top control separately on the left. */
.floating-action--top{
  position:fixed!important;
  left:18px!important;
  right:auto!important;
  bottom:18px!important;
  z-index:121!important;
  background:#fff!important;
  color:#35106f!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.32)!important;
}
.floating-action--top .floating-action__icon{
  background:rgba(109,50,255,.16)!important;
  color:#35106f!important;
}

/* Desktop dropdown now contains only the actual course choices. */
.dropdown-menu{
  padding-top:14px!important;
  padding-bottom:14px!important;
}

@media(max-width:760px){
  .floating-action--top{
    left:14px!important;
    bottom:14px!important;
  }
}

/* V37 - homepage audience split cards */
.audience-head{margin-bottom:28px;}
.audience-split{align-items:stretch;}
.audience-path-card{min-height:560px!important;}
.audience-path-card > div{max-width:64%!important; display:flex; flex-direction:column; justify-content:flex-end; height:100%;}
.audience-path-card::after{background:linear-gradient(90deg, rgba(7,7,11,.95) 0%, rgba(7,7,11,.84) 42%, rgba(7,7,11,.36) 100%)!important;}
.audience-badge{display:inline-flex; align-items:center; width:max-content; padding:8px 14px; border-radius:999px; background:rgba(198,242,72,.16); border:1px solid rgba(198,242,72,.34); color:var(--lime); font-weight:800; letter-spacing:.02em; margin-bottom:16px;}
.audience-path-card h3{margin-bottom:14px; font-size:clamp(2rem,3vw,3.35rem);}
.audience-path-card .lead{margin-bottom:18px;}
.age-tracks{display:grid; gap:10px; margin:0 0 20px;}
.age-track{display:grid; grid-template-columns:70px 1fr; gap:14px; align-items:start; padding:12px 14px; border-radius:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); backdrop-filter:blur(8px);}
.age-track strong{color:var(--lime); font-size:1.05rem;}
.age-track span{color:#f4f1fa; line-height:1.45;}
.adult-track-tags{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 14px;}
.adult-track-tags span{display:inline-flex; padding:9px 12px; border-radius:999px; background:rgba(109,50,255,.18); border:1px solid rgba(145,104,255,.34); color:#fff; font-weight:700; font-size:.95rem;}
.audience-note{color:#d7d1e4; margin:0 0 18px;}
.audience-path-card .btn{margin-top:auto; width:max-content;}
@media(max-width:1100px){
  .audience-path-card > div{max-width:74%!important;}
}
@media(max-width:860px){
  .audience-path-card{min-height:0!important;}
  .audience-path-card > div{max-width:100%!important;}
  .audience-path-card::after{background:linear-gradient(180deg, rgba(7,7,11,.18), rgba(7,7,11,.9))!important;}
  .age-track{grid-template-columns:1fr; gap:4px;}
}


/* V38 - copy update */
.section-head.center-full,
.lime-card .section-head.center {
  text-align: center;
  margin-inline: auto;
}
.lime-card .section-head.center .lead {
  margin-inline: auto;
}


/* V40 - uniqueness expansion and centered Ukrainian GameDev heading */
.ukr-gamedev-head {
  max-width: 980px;
  margin: 0 auto 46px;
  text-align: center;
}
.ukr-gamedev-head h2 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(2rem, 3.45vw, 4.1rem);
  line-height: 1.05;
}
.ukr-gamedev-head .lead {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  line-height: 1.65;
}
@media (max-width: 760px) {
  .ukr-gamedev-head { margin-bottom: 34px; }
  .ukr-gamedev-head h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .ukr-gamedev-head .lead { font-size: 1rem; }
}


/* V41 - homepage cleanup and full-width audience images */
.audience-card.photo-card > img,
.audience-path-card > img {
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Give the first kids card a slightly higher focal point so the characters stay visible. */
.audience-path-card:first-child > img {
  object-position: center 42% !important;
}

/* Keep the audience cards readable over the now full-bleed imagery. */
.audience-path-card::after {
  background: linear-gradient(90deg, rgba(7,7,11,.90) 0%, rgba(7,7,11,.66) 48%, rgba(7,7,11,.20) 100%) !important;
}

@media(max-width:860px){
  .audience-path-card:first-child > img { object-position: center center !important; }
  .audience-path-card::after {
    background: linear-gradient(180deg, rgba(7,7,11,.16) 0%, rgba(7,7,11,.86) 72%, rgba(7,7,11,.95) 100%) !important;
  }
}

/* V42 - mobile navigation rebuild + inquiry-first pricing */
@media (max-width: 1180px) {
  .site-header {
    padding: 10px 0;
  }
  .nav-shell {
    min-height: 68px;
    padding: 8px 10px 8px 16px;
  }
  .menu-btn {
    flex: 0 0 auto;
  }
  .mobile-menu {
    width: var(--container);
    margin: 10px auto 0;
    padding: 0 0 10px;
    max-height: calc(100svh - 105px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
  .mobile-menu.open {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .mobile-menu > a,
  .mobile-menu > details {
    width: 100%;
    min-width: 0;
  }
  .mobile-menu > a,
  .mobile-menu summary {
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 16px 18px !important;
    margin: 0;
    border: 1px solid rgba(109,50,255,.22);
    border-radius: 20px;
    background: #0d0d14 !important;
    color: #fff !important;
    font-family: "Russo One", "Exo 2", sans-serif;
    font-size: 1rem;
    line-height: 1.2;
    box-shadow: none !important;
    text-decoration: none;
  }
  .mobile-menu > a:active,
  .mobile-menu summary:active {
    background: #151020 !important;
  }
  .mobile-menu details {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .mobile-menu summary {
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 46px !important;
  }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--lime);
    font-family: system-ui, sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
  }
  .mobile-menu details[open] summary::after { content: "−"; }
  .mobile-menu details[open] summary {
    border-color: rgba(109,50,255,.48);
    background: #151020 !important;
  }
  .mobile-menu details > a {
    display: block !important;
    width: calc(100% - 18px) !important;
    margin: 8px 0 0 18px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 15px !important;
    background: #09090f !important;
    color: #e9e6f2 !important;
    font-family: inherit !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    box-shadow: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .mobile-menu details > a:first-of-type {
    color: var(--lime) !important;
    border-color: rgba(217,255,85,.18) !important;
  }
}

@media (max-width: 760px) {
  :root { --container: min(100% - 28px, 1440px); }
  .site-header { padding: 8px 0; }
  .nav-shell {
    min-height: 64px;
    padding: 7px 8px 7px 12px;
    border-radius: 24px;
  }
  .brand-lockup img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain;
    border-radius: 15px;
  }
  .brand-lockup strong { font-size: 1.12rem; }
  .brand-lockup small { font-size: .68rem; letter-spacing: .18em; }
  .menu-btn {
    width: 50px;
    height: 50px;
  }
  .mobile-menu {
    margin-top: 8px;
    max-height: calc(100svh - 92px);
    padding-bottom: 12px;
  }
  .mobile-menu.open { gap: 8px !important; }
  .mobile-menu > a,
  .mobile-menu summary {
    min-height: 54px;
    padding: 14px 16px !important;
    border-radius: 17px;
    font-size: .96rem;
  }
  .mobile-menu details > a {
    margin-left: 12px !important;
    width: calc(100% - 12px) !important;
    padding: 12px 14px !important;
    font-size: .89rem !important;
  }

  /* Homepage audience cards - darker media and content-first layout */
  .audience-head {
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .audience-head .lead {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .audience-split {
    gap: 18px !important;
  }
  .audience-path-card {
    min-height: 560px !important;
    padding: 22px !important;
    border-radius: 26px !important;
  }
  .audience-path-card > img {
    filter: brightness(.38) saturate(.82) contrast(1.06) !important;
  }
  .audience-path-card::after {
    background: linear-gradient(180deg, rgba(5,5,8,.38) 0%, rgba(5,5,8,.60) 36%, rgba(5,5,8,.95) 68%, rgba(5,5,8,.98) 100%) !important;
  }
  .audience-path-card > div {
    max-width: 100% !important;
    justify-content: flex-end !important;
  }
  .audience-path-card h3 {
    font-size: clamp(1.9rem, 9vw, 2.75rem) !important;
    line-height: 1.04 !important;
  }
  .audience-path-card .lead,
  .audience-note {
    color: #f0edf7 !important;
    font-size: .98rem !important;
    line-height: 1.5 !important;
  }
  .age-track {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 11px 13px !important;
    background: rgba(8,8,12,.72) !important;
    border-color: rgba(255,255,255,.11) !important;
  }
  .adult-track-tags { gap: 7px !important; }
  .adult-track-tags span {
    padding: 8px 10px !important;
    font-size: .84rem !important;
    background: rgba(25,17,45,.78) !important;
  }
  .audience-path-card .btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* V43 - premium full-width audience block */
.audience-premium-section{
  position:relative;
  width:100%;
  padding:96px 0 108px;
  background:
    radial-gradient(circle at 50% -12%, rgba(109,50,255,.17), transparent 34%),
    #050507 !important;
  overflow:hidden;
}
.audience-premium-section::before,
.audience-premium-section::after{
  content:"";
  position:absolute;
  top:88px;
  width:82px;
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(109,50,255,.9));
  box-shadow:0 0 24px rgba(109,50,255,.55);
  transform:skewX(-35deg);
  opacity:.75;
}
.audience-premium-section::before{left:7vw}
.audience-premium-section::after{right:7vw;transform:skewX(35deg) rotate(180deg)}
.audience-premium-shell{
  width:min(94vw,1640px);
  margin:0 auto;
}
.audience-premium-head{
  max-width:1040px;
  margin:0 auto 42px;
  text-align:center;
}
.audience-premium-head h2{
  margin:0;
  color:#fff;
  font-family:"Russo One","Exo 2",sans-serif;
  font-size:clamp(3rem,5.2vw,6.25rem);
  line-height:.98;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.audience-premium-head p{
  max-width:920px;
  margin:22px auto 0;
  color:#bdb7c8;
  font-size:clamp(1rem,1.35vw,1.22rem);
  line-height:1.65;
}
.audience-premium-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.audience-premium-card{
  position:relative;
  min-height:690px;
  overflow:hidden;
  border:1px solid rgba(139,74,255,.62);
  border-radius:32px;
  background:#0a0910;
  color:#fff;
  text-decoration:none;
  box-shadow:0 30px 90px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.02);
  isolation:isolate;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.audience-premium-card:hover{
  transform:translateY(-5px);
  border-color:rgba(174,116,255,.92);
  box-shadow:0 38px 105px rgba(0,0,0,.55),0 0 42px rgba(109,50,255,.12);
}
.audience-premium-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
  transform:scale(1.015);
  transition:transform .5s ease;
}
.audience-premium-card:hover .audience-premium-bg{transform:scale(1.045)}
.audience-premium-kids .audience-premium-bg{object-position:center 48%;filter:brightness(.52) saturate(.92) contrast(1.04)}
.audience-premium-adults .audience-premium-bg{object-position:center 58%;filter:brightness(.44) saturate(1.05) contrast(1.08)}
.audience-premium-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,4,9,.94) 0%,rgba(4,4,9,.82) 43%,rgba(4,4,9,.36) 77%,rgba(4,4,9,.12) 100%),
    linear-gradient(180deg,rgba(4,4,9,.05) 0%,rgba(4,4,9,.22) 48%,rgba(4,4,9,.91) 100%);
}
.audience-premium-content{
  position:relative;
  z-index:2;
  width:min(72%,620px);
  min-height:690px;
  padding:38px 34px 34px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.audience-premium-badge{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 18px;
  margin-bottom:28px;
  border-radius:999px;
  background:var(--lime);
  color:#111;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 8px 28px rgba(217,255,85,.16);
}
.audience-premium-card h3{
  max-width:590px;
  margin:0 0 18px;
  color:#fff;
  font-family:"Russo One","Exo 2",sans-serif;
  font-size:clamp(2.35rem,3.15vw,4.05rem);
  line-height:1.03;
  text-wrap:balance;
  text-shadow:0 8px 30px rgba(0,0,0,.55);
}
.audience-premium-copy{
  max-width:545px;
  margin:0 0 20px;
  color:#f0edf6;
  font-size:1.02rem;
  line-height:1.55;
  text-shadow:0 3px 16px rgba(0,0,0,.7);
}
.audience-age-list{
  display:grid;
  width:100%;
  gap:9px;
  margin-top:2px;
}
.audience-age-row{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:center;
  gap:14px;
  min-height:52px;
  padding:10px 14px;
  border:1px solid rgba(168,123,255,.34);
  border-radius:14px;
  background:rgba(10,10,18,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.audience-age-row strong{
  color:var(--lime);
  font-size:1.08rem;
  letter-spacing:.02em;
}
.audience-age-row span{
  color:#fff;
  font-size:.94rem;
  line-height:1.35;
}
.audience-skill-list{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:2px 0 18px;
}
.audience-skill-list span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 14px;
  border:1px solid rgba(170,126,255,.38);
  border-radius:13px;
  background:rgba(12,10,22,.7);
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.audience-premium-note{
  max-width:540px;
  margin:0 0 18px;
  color:#d7d1e2;
  font-size:.94rem;
  line-height:1.48;
}
.audience-premium-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:58px;
  margin-top:auto;
  padding:14px 24px;
  border-radius:15px;
  background:var(--lime);
  color:#0b0b0d;
  font-weight:950;
  font-size:1rem;
  box-shadow:0 12px 32px rgba(217,255,85,.15);
}
.audience-cta-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:8px;
  background:#111;
  color:var(--lime);
  font-size:.9rem;
  line-height:1;
}
@media(max-width:1180px){
  .audience-premium-card{min-height:660px}
  .audience-premium-content{width:78%;min-height:660px;padding:32px 28px 28px}
  .audience-premium-card h3{font-size:clamp(2.15rem,3.7vw,3.5rem)}
}
@media(max-width:920px){
  .audience-premium-section{padding:76px 0 86px}
  .audience-premium-section::before,.audience-premium-section::after{display:none}
  .audience-premium-shell{width:min(92vw,760px)}
  .audience-premium-grid{grid-template-columns:1fr;gap:18px}
  .audience-premium-card{min-height:620px;border-radius:28px}
  .audience-premium-content{width:70%;min-height:620px}
  .audience-premium-kids .audience-premium-bg{object-position:center 46%}
  .audience-premium-adults .audience-premium-bg{object-position:center 58%}
}
@media(max-width:640px){
  .audience-premium-section{padding:58px 0 68px}
  .audience-premium-shell{width:calc(100% - 28px)}
  .audience-premium-head{margin-bottom:26px}
  .audience-premium-head h2{font-size:clamp(2.35rem,12vw,3.45rem);line-height:1.01}
  .audience-premium-head p{margin-top:16px;font-size:.96rem;line-height:1.55}
  .audience-premium-card{min-height:0;border-radius:24px}
  .audience-premium-card .audience-premium-bg{filter:brightness(.32) saturate(.9) contrast(1.08)}
  .audience-premium-shade{
    background:linear-gradient(180deg,rgba(4,4,9,.28) 0%,rgba(4,4,9,.58) 29%,rgba(4,4,9,.93) 58%,rgba(4,4,9,.985) 100%);
  }
  .audience-premium-content{width:100%;min-height:690px;padding:22px 19px 20px;justify-content:flex-end}
  .audience-premium-badge{min-height:34px;margin-bottom:16px;padding:7px 14px;font-size:.88rem}
  .audience-premium-card h3{font-size:clamp(2rem,9.3vw,2.75rem);line-height:1.04;margin-bottom:14px}
  .audience-premium-copy{font-size:.95rem;line-height:1.5;margin-bottom:16px}
  .audience-age-list{gap:7px}
  .audience-age-row{grid-template-columns:48px 1fr;gap:10px;min-height:48px;padding:9px 11px;border-radius:12px}
  .audience-age-row strong{font-size:1rem}
  .audience-age-row span{font-size:.84rem}
  .audience-skill-list{gap:7px;margin-bottom:14px}
  .audience-skill-list span{min-height:38px;padding:8px 10px;border-radius:11px;font-size:.82rem}
  .audience-premium-note{font-size:.87rem;margin-bottom:14px}
  .audience-premium-cta{width:100%;min-height:54px;padding:12px 16px;border-radius:13px}
}
@media(max-width:420px){
  .audience-premium-content{min-height:720px}
  .audience-premium-card h3{font-size:clamp(1.9rem,9vw,2.4rem)}
  .audience-age-row{grid-template-columns:1fr;gap:3px}
}

/* ===== V47 account icon and icon-only top button ===== */
to{transform:scale(1.04);opacity:1}
}

.account-btn{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:inline-grid!important;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background:#11121a;
  color:#fff;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.account-btn:hover,
.account-btn:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(198,255,102,.6);
  background:#171923;
}
.account-btn svg{
  width:20px;
  height:20px;
  fill:currentColor;
  display:block;
}

.floating-action--top{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  gap:0!important;
}
.floating-action--top .floating-action__icon{
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  font-size:22px!important;
  line-height:1!important;
}
.floating-action__label--top{display:none!important;}

@media(max-width:900px){
  .account-btn{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
}
@media(max-width:560px){
  .account-btn{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .account-btn svg{width:18px;height:18px;}
  .floating-action--top{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
}

/* V49 - visual consistency, real academy photos, clean responsive media */
:root{
  --v49-panel:#0b0b10;
  --v49-border:rgba(255,255,255,.10);
  --v49-purple:#6d32ff;
  --v49-lime:#d9ff55;
}

/* Removed unfinished account UI. */
.account-btn{display:none!important}

/* Course heroes use real photos / clean imagery, never text-heavy poster art. */
.course-detail-grid{
  grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr)!important;
  gap:clamp(28px,4vw,64px)!important;
}
.course-detail-image.course-photo-media{
  position:relative;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4/3;
  max-height:560px;
  border:1px solid var(--v49-border);
  border-radius:34px!important;
  overflow:hidden;
  background:var(--v49-panel)!important;
  box-shadow:0 26px 80px rgba(0,0,0,.40)!important;
}
.course-detail-image.course-photo-media>img:first-child{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
}
.course-detail-image.course-photo-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,5,8,.02) 45%,rgba(5,5,8,.32) 100%);
}
.course-engine-badges{
  position:absolute;
  z-index:3;
  left:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:16px;
  background:rgba(5,5,7,.82);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 40px rgba(0,0,0,.38);
}
.course-engine-badges img{
  width:auto!important;
  height:38px!important;
  max-width:160px!important;
  object-fit:contain!important;
  display:block;
}
.course-engine-badges--double img{height:32px!important;max-width:128px!important}

/* Real academy photo grids use one dark visual system. */
.academy-real-grid.curated{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}
.academy-real-grid.curated .academy-real-card,
.about-gallery figure{
  grid-row:auto!important;
  grid-column:auto!important;
  min-height:0!important;
  background:var(--v49-panel)!important;
  border:1px solid var(--v49-border)!important;
  border-radius:26px!important;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.32)!important;
}
.academy-real-grid.curated .academy-real-card::after{display:none!important}
.academy-real-grid.curated .academy-real-card img,
.about-gallery figure img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
}
.academy-real-grid.curated .academy-real-card figcaption,
.about-gallery figure figcaption{
  position:static!important;
  padding:16px 18px!important;
  background:var(--v49-panel)!important;
  color:#e8e5ef!important;
  font-size:.95rem!important;
  line-height:1.45;
}

/* Overview thumbnails: consistent crop and contrast. */
.course-thumb{
  height:auto!important;
  aspect-ratio:16/10;
  border-radius:20px!important;
  border:1px solid var(--v49-border)!important;
  background:var(--v49-panel)!important;
}
.course-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* General page media now adapts instead of stretching to fixed heights. */
.page-hero-media{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/10;
  max-height:560px;
  border:1px solid var(--v49-border);
  background:var(--v49-panel)!important;
}
.page-hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* Keep palette strictly black + purple + lime. */
.feature-card,
.course-meta div,
.price-card,
.review,
.news-card,
.contact-form,
.contact-aside{
  background:var(--v49-panel)!important;
  border-color:var(--v49-border)!important;
}

@media(max-width:900px){
  .course-detail-grid{grid-template-columns:1fr!important}
  .course-detail-image.course-photo-media{order:-1;aspect-ratio:16/10;max-height:none;border-radius:26px!important}
  .academy-real-grid.curated{grid-template-columns:1fr 1fr!important}
  .page-hero-media{aspect-ratio:16/10;max-height:none}
}
@media(max-width:620px){
  .academy-real-grid.curated{grid-template-columns:1fr!important}
  .academy-real-grid.curated .academy-real-card img{aspect-ratio:4/3}
  .course-detail-image.course-photo-media{aspect-ratio:4/3;border-radius:22px!important}
  .course-engine-badges{left:12px;bottom:12px;padding:8px 10px;border-radius:13px}
  .course-engine-badges img{height:28px!important;max-width:112px!important}
  .course-engine-badges--double img{height:24px!important;max-width:92px!important}
  .page-hero-media{aspect-ratio:4/3}
}

/* V49.1 - unify real-photo sections on About page */
.real-photo-strip.curated{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}
.real-photo-strip.curated figure{
  margin:0!important;
  background:var(--v49-panel)!important;
  border:1px solid var(--v49-border)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  box-shadow:0 20px 60px rgba(0,0,0,.32)!important;
}
.real-photo-strip.curated img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.real-photo-strip.curated figcaption{
  padding:16px 18px!important;
  background:var(--v49-panel)!important;
  color:#e8e5ef!important;
  font-size:.95rem!important;
  line-height:1.45!important;
}
@media(max-width:900px){.real-photo-strip.curated{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.real-photo-strip.curated{grid-template-columns:1fr!important}.real-photo-strip.curated img{aspect-ratio:4/3!important}}

/* V50 - refined responsive course visuals, founder, contact, footer */
:root{
  --v50-bg:#050509;
  --v50-panel:#0b0b11;
  --v50-panel-2:#101018;
  --v50-border:rgba(255,255,255,.10);
  --v50-text:#f7f5fb;
  --v50-muted:#bcb6c9;
  --v50-purple:#7b39ff;
  --v50-purple-2:#9d68ff;
  --v50-lime:#d8ff54;
}

/* Course media: consistent ratio, predictable crops, no stretched imagery. */
.course-detail-image.course-photo-media{
  aspect-ratio:16/10!important;
  max-height:540px!important;
  min-height:0!important;
  background:#09090e!important;
  border:1px solid var(--v50-border)!important;
  box-shadow:0 26px 72px rgba(0,0,0,.42)!important;
}
.course-detail-image.course-photo-media>img:first-child{
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.96) contrast(1.03);
}
.course-photo-media--u16>img:first-child{object-position:center 38%!important}
.course-photo-media--roblox>img:first-child{object-position:center 44%!important}
.course-photo-media--web>img:first-child{object-position:center!important;filter:brightness(.62) saturate(.92) contrast(1.08)}
.course-photo-label{
  position:absolute;
  z-index:4;
  left:18px;
  top:18px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(7,7,11,.78);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  font-weight:900;
  font-size:.86rem;
}

/* Browser-game hero: real project image + live HTML/CSS overlay rather than poster art. */
.web-code-float{
  position:absolute;
  z-index:4;
  left:18px;
  bottom:70px;
  width:min(360px,calc(100% - 36px));
  padding:14px 16px 15px;
  border-radius:18px;
  background:rgba(8,8,13,.88);
  border:1px solid rgba(159,100,255,.35);
  box-shadow:0 18px 46px rgba(0,0,0,.45);
  backdrop-filter:blur(14px);
}
.web-code-float span{
  display:block;
  margin-bottom:8px;
  color:var(--v50-lime);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.08em;
}
.web-code-float code{
  color:#f3eefc;
  font:600 .78rem/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
.tech-chip-row{
  position:absolute;
  z-index:4;
  left:18px;
  bottom:18px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.tech-chip-row span{
  padding:8px 11px;
  border-radius:999px;
  background:rgba(123,57,255,.86);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  font-weight:900;
  font-size:.76rem;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.tech-chip-row span:last-child{background:rgba(216,255,84,.92);color:#111}

/* Reference analysis cards - no white blocks, fully legible dark UI. */
.reference-analysis-grid{
  gap:22px!important;
  align-items:stretch!important;
}
.reference-analysis-card{
  overflow:hidden!important;
  background:linear-gradient(180deg,#0b0b11 0%,#0e0d16 100%)!important;
  border:1px solid rgba(148,91,255,.26)!important;
  border-radius:28px!important;
  box-shadow:0 22px 66px rgba(0,0,0,.38)!important;
}
.reference-analysis-card img{
  width:100%!important;
  aspect-ratio:16/10;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
  filter:saturate(.92) contrast(1.04);
}
.reference-analysis-card .media-card-body{
  padding:22px 22px 24px!important;
  background:linear-gradient(180deg,#0b0b11 0%,#10101a 100%)!important;
}
.reference-analysis-card .tag{
  display:inline-flex;
  margin-bottom:14px;
  background:rgba(123,57,255,.16)!important;
  color:#d8c9ff!important;
  border:1px solid rgba(155,104,255,.30)!important;
}
.reference-analysis-card h3{
  margin:0 0 10px;
  color:#fff!important;
  font-size:1.35rem;
}
.reference-analysis-card p{
  margin:0;
  color:#c6c0d1!important;
  line-height:1.65;
}
.reference-analysis-card:nth-child(3){border-color:rgba(216,255,84,.25)!important}
.reference-analysis-card:nth-child(3) .tag{background:rgba(216,255,84,.10)!important;color:#e7ff99!important;border-color:rgba(216,255,84,.26)!important}

/* Founder block */
.founder-grid--premium{
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(38px,6vw,78px)!important;
}
.founder-grid--premium .founder-photo{
  max-height:680px!important;
  background:#120d20!important;
  border:1px solid rgba(144,88,255,.26)!important;
  box-shadow:0 28px 82px rgba(0,0,0,.42)!important;
}
.founder-grid--premium .founder-photo img{
  object-fit:cover!important;
  object-position:center 20%!important;
}
.founder-copy h2{margin-bottom:10px}
.founder-role{
  margin:0 0 22px;
  color:var(--v50-lime);
  font-family:"Russo One",sans-serif;
  font-size:clamp(1.15rem,2vw,1.55rem);
}
.founder-copy .lead strong{color:#fff}
.founder-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:26px 0 28px;
}
.founder-tags span{
  padding:9px 13px;
  border-radius:999px;
  color:#ddd2ff;
  background:rgba(123,57,255,.14);
  border:1px solid rgba(155,104,255,.28);
  font-weight:800;
  font-size:.83rem;
}
.founder-linkedin{display:inline-flex!important}

/* Direct Telegram contact */
.direct-contact-card{
  display:grid;
  gap:8px;
  margin-top:26px;
  padding:22px;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(123,57,255,.18),rgba(216,255,84,.07));
  border:1px solid rgba(155,104,255,.28);
}
.direct-contact-card span{color:#bfb7cf;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.direct-contact-card strong{font-size:1.15rem;color:#fff}
.direct-contact-card .btn{margin-top:7px;justify-content:center}

/* Footer contact and socials */
.footer-mini-contact{
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:18px;
  color:#8e879d;
}
.footer-mini-contact a{
  display:inline!important;
  margin:0!important;
  color:#d7d1e1!important;
  font-weight:800;
}
.footer-contact>a{word-break:break-word}
.footer-socials{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px;
}
.footer-socials a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin:0!important;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  color:#ddd7e7!important;
  font-size:.78rem;
  font-weight:900;
}
.footer-socials a:hover{background:rgba(123,57,255,.20);border-color:rgba(155,104,255,.32);color:#fff!important}

/* Improve real-photo adaptation across academy sections. */
.academy-real-grid.curated .academy-real-card img,
.real-photo-strip.curated figure img{
  object-fit:cover!important;
  object-position:center!important;
}
.academy-real-grid.curated .academy-real-card:nth-child(2) img,
.real-photo-strip.curated figure:nth-child(2) img{object-position:center 32%!important}
.academy-real-grid.curated .academy-real-card:nth-child(3) img,
.real-photo-strip.curated figure:nth-child(3) img{object-position:center 28%!important}

@media(max-width:980px){
  .founder-grid--premium{grid-template-columns:1fr!important}
  .founder-grid--premium .founder-photo{max-height:560px!important}
}
@media(max-width:760px){
  .course-detail-image.course-photo-media{aspect-ratio:16/10!important}
  .web-code-float{bottom:64px;left:12px;width:calc(100% - 24px);padding:12px 13px}
  .web-code-float code{font-size:.68rem}
  .tech-chip-row{left:12px;bottom:12px}
  .reference-analysis-card .media-card-body{padding:18px!important}
  .founder-grid--premium .founder-photo{aspect-ratio:4/5;max-height:none!important}
}
@media(max-width:560px){
  .course-detail-image.course-photo-media{aspect-ratio:4/3!important}
  .course-photo-label{left:12px;top:12px;padding:8px 11px;font-size:.74rem}
  .web-code-float{display:none}
  .tech-chip-row span{font-size:.68rem;padding:7px 9px}
  .footer-socials{gap:7px}
  .footer-socials a{min-height:36px;padding:0 10px}
}
