@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

.shell:has(.landing-home) { max-width: none; padding: 0; background: #050505; color: #fafafa; }
.landing-home { min-height: 100vh; background: #050505; color: #fafafa; font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; }
.landing-hero, .landing-hero * { box-sizing: border-box; }
.landing-hero {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  background: #050505;
  color: #fafafa;
  font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.landing-hero-video { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.landing-hero-video::-webkit-media-controls,
.landing-hero-video::-webkit-media-controls-enclosure,
.landing-hero-video::-webkit-media-controls-panel,
.landing-hero-video::-webkit-media-controls-start-playback-button,
.landing-hero-video::-webkit-media-controls-overlay-play-button,
.landing-hero-video::-webkit-media-controls-play-button { display: none !important; -webkit-appearance: none; appearance: none; }
.landing-hero-wash {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5,5,5,.72) 0%, rgba(5,5,5,.42) 39%, rgba(5,5,5,.08) 72%, rgba(5,5,5,.16) 100%), linear-gradient(to bottom, rgba(5,5,5,.20) 0%, transparent 36%, rgba(5,5,5,.18) 61%, rgba(5,5,5,.72) 82%, #050505 100%);
}
.landing-hero-foreground { position: relative; z-index: 2; display: flex; min-height: 100vh; min-height: 100svh; flex-direction: column; }
.landing-hero-nav { position: relative; z-index: 12; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; padding: 1.6rem clamp(1.5rem,5vw,4.75rem) 0; }
.landing-hero-logo { display: flex; width: 2.65rem; height: 2.65rem; align-items: center; justify-content: center; justify-self: start; text-decoration: none; }
.landing-hero-logo img { display: block; width: 34px; height: 34px; object-fit: contain; filter: brightness(0) invert(1); }
.landing-hero-nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(1.1rem,2vw,2rem); }
.landing-hero-nav-links a { color: #b6b5b5; font-size: 13px; font-weight: 400; text-decoration: none; transition: color 200ms ease; }
.landing-hero-nav-links a:hover { color: #fafafa; }
.landing-hero-nav-cta { justify-self: end; display: inline-flex; min-height: 42px; align-items: center; justify-content: center; border-radius: 9999px; background: #fff; padding: 0 1.35rem; color: #050505; font-size: 13px; font-weight: 600; text-decoration: none; transition: transform 200ms ease, background-color 200ms ease; }
.landing-hero-nav-cta:hover, .landing-hero-cta:hover { transform: translateY(-2px); background: #e9e9e9; }
.landing-hero-burger { display: none; }
.landing-hero-content { display: flex; flex: 1; align-items: flex-end; padding: 0 clamp(1.5rem,5vw,4.75rem) clamp(4rem,8vh,6rem); }
.landing-hero-copy { max-width: min(620px, 78vw); animation: notta-rise .85s cubic-bezier(.22,1,.36,1) both; }
.landing-hero-brand { margin: 0 0 1.1rem; color: #fafafa; font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 18px; font-weight: 700; letter-spacing: -.045em; line-height: 1; text-transform: none; }
.landing-hero-copy h1 { display: flex; flex-direction: column; margin: 0 0 1.35rem; color: #fafafa; font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: clamp(2.8rem,6.1vw,5.1rem); font-weight: 400; letter-spacing: -.055em; line-height: .99; }
.landing-hero-sub { max-width: 500px; margin: 0 0 1.65rem; color: #c5c5c5; font-size: clamp(14px,1.3vw,17px); font-weight: 400; line-height: 1.55; }
.landing-hero-actions { display: flex; align-items: center; gap: 1.4rem; }
.landing-hero-cta { display: inline-flex; min-height: 45px; align-items: center; justify-content: center; gap: .6rem; border-radius: 9999px; background: #fff; padding: 0 1.35rem; color: #050505; font-size: 13px; font-weight: 600; text-decoration: none; transition: transform 200ms ease, background-color 200ms ease; }
.landing-hero-cta span { display: inline-block; transition: transform 200ms ease; }
.landing-hero-cta:hover span { transform: translateX(3px); }
.landing-hero-ghost { color: #fff; font-size: 13px; font-weight: 500; text-decoration: none; transition: color 200ms ease; }
.landing-hero-ghost:hover { color: #c8c8c8; }
.landing-hero a:focus-visible, .landing-hero button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@keyframes notta-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 680px) {
  .landing-hero-video { object-position: 43% center; }
  .landing-hero-wash { background: linear-gradient(to right, rgba(5,5,5,.86) 0%, rgba(5,5,5,.66) 42%, rgba(5,5,5,.20) 78%, rgba(5,5,5,.10) 100%), linear-gradient(to bottom, rgba(5,5,5,.68) 0%, rgba(5,5,5,.34) 24%, rgba(5,5,5,.38) 56%, rgba(5,5,5,.82) 82%, rgba(5,5,5,.97) 94%, #050505 100%); }
  .landing-hero-nav { grid-template-columns: 1fr auto; padding: max(1rem,env(safe-area-inset-top)) 1.2rem 0; }
  .landing-hero-logo { width: 2.6rem; height: 2.6rem; }
  .landing-hero-nav-links { position: fixed; z-index: 9; inset: 0; display: none; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.5rem; padding: 5rem 2rem 4rem; background: rgba(5,5,5,.94); backdrop-filter: blur(18px); }
  .landing-hero.is-open .landing-hero-nav-links { display: flex; animation: notta-menu-in .3s ease both; }
  .landing-hero-nav-links a { color: #fafafa; font-size: clamp(1.65rem,8vw,2rem); font-weight: 500; }
  .landing-hero-nav-cta { display: none; }
  .landing-hero-burger { position: relative; z-index: 12; display: flex; width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.18); border-radius: 9999px; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
  .landing-hero-burger i { display: block; width: 16px; height: 1.5px; border-radius: 2px; background: #fff; transition: transform 200ms ease; }
  .landing-hero.is-open .landing-hero-burger i:first-child { transform: translateY(3.25px) rotate(45deg); }
  .landing-hero.is-open .landing-hero-burger i:last-child { transform: translateY(-3.25px) rotate(-45deg); }
  .landing-hero-content { padding: 0 1.5rem calc(3.5rem + env(safe-area-inset-bottom)); }
  .landing-hero-copy { max-width: 100%; }
  .landing-hero-brand { margin-bottom: .85rem; font-size: 16px; }
  .landing-hero-copy h1 { margin-bottom: 1rem; font-size: clamp(2.55rem,10vw,3.5rem); line-height: 1.02; }
  .landing-hero-sub { max-width: 370px; margin-bottom: 1.25rem; font-size: 14px; }
  .landing-hero-actions { flex-wrap: wrap; gap: 1rem; }
}
@media (max-width: 360px) {
  .landing-hero-content { padding-right: 1.15rem; padding-left: 1.15rem; }
  .landing-hero-copy h1 { font-size: 2.35rem; }
}
@media (min-width: 600px) and (max-aspect-ratio: 11/10) {
  .landing-hero-content { padding-right: 3rem; padding-left: 3rem; padding-bottom: 5rem; }
  .landing-hero-copy { max-width: 75%; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-hero-copy { animation: none; }
  .landing-hero-nav-links, .landing-hero-burger i, .landing-hero-cta, .landing-hero-cta span, .landing-hero-nav-links a { transition: none !important; }
}

.landing-courses { padding: clamp(3.5rem,7vw,6.5rem) 1.5rem; background: #050505; color: #fafafa; }
.landing-courses-inner { width: min(1200px,100%); margin: 0 auto; }
.landing-courses-heading { display: grid; grid-template-columns: .85fr 1.3fr .85fr; align-items: end; gap: 2rem; margin-bottom: 2.25rem; }
.landing-courses-kicker { margin: 0; color: #a7a6a6; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.landing-courses-heading h2 { margin: 0; color: #fafafa; font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: clamp(2rem,4vw,3.2rem); font-weight: 400; letter-spacing: -.055em; line-height: 1.06; }
.landing-courses-heading > p:last-child { max-width: 300px; margin: 0 0 .15rem; color: #a7a6a6; font-size: 13px; line-height: 1.65; }
.landing-course-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.landing-course-card { display: flex; min-height: 286px; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: linear-gradient(145deg,#121212,#090909 72%); padding: 1.35rem; transition: border-color 220ms ease, transform 220ms ease, background-color 220ms ease; }
.landing-course-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.34); }
.landing-course-top, .landing-course-bottom { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.landing-course-top { color: #8b8a8a; font-size: 9px; font-weight: 600; letter-spacing: .11em; }
.landing-course-copy { margin: auto 0; padding: 2.2rem 0; }
.landing-course-copy h3 { margin: 0 0 .7rem; color: #fafafa; font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: clamp(1.35rem,2.1vw,1.8rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.15; }
.landing-course-copy p { max-width: 340px; margin: 0; color: #a7a6a6; font-size: 12px; line-height: 1.65; }
.landing-course-bottom { border-top: 1px solid rgba(255,255,255,.10); padding-top: 1rem; color: #8b8a8a; font-size: 10px; }
.landing-course-bottom a { color: #f5f5f5; font-size: 11px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.landing-course-bottom a span { display: inline-block; margin-left: .25rem; transition: transform 180ms ease; }
.landing-course-bottom a:hover span { transform: translate(2px,-2px); }
.landing-courses-empty { margin: 0; color: #a7a6a6; font-size: 14px; }

.landing-ecosystem { border-top: 1px solid rgba(255,255,255,.10); padding: clamp(2.75rem,6vw,5rem) 1.5rem 2.5rem; background: #050505; }
.landing-ecosystem-inner { width: min(1100px,100%); margin: 0 auto; }
.landing-ecosystem-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 1.5rem; }
.landing-ecosystem-item { display: flex; min-height: 100px; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; text-align: center; }
.landing-ecosystem-item img { display: block; width: 92px; height: 62px; object-fit: contain; filter: brightness(0) invert(1); opacity: .72; }
.landing-ecosystem-item:first-child img, .landing-ecosystem-item:nth-child(2) img { width: 58px; height: 62px; }
.landing-youtube-mark { display: block; width: 78px; height: 56px; }
.landing-site-footer { border-top: 1px solid rgba(255,255,255,.12); padding: 2.5rem clamp(1.5rem,5vw,4.75rem) 1.25rem; background: #050505; }
.landing-footer-main { display: grid; width: min(1200px,100%); grid-template-columns: 1.5fr repeat(3,minmax(0,1fr)); gap: 2rem; margin: 0 auto; padding-bottom: 2.5rem; }
.landing-footer-brand { display: inline-flex; align-items: center; gap: .6rem; color: #fafafa; text-decoration: none; }
.landing-footer-brand img { width: 32px; height: 32px; object-fit: contain; filter: brightness(0) invert(1); }
.landing-footer-brand strong { font-size: 20px; font-weight: 700; letter-spacing: -.06em; }
.landing-footer-brand-block p { margin: .8rem 0 0; color: #8b8a8a; font-size: 12px; line-height: 1.7; }
.landing-footer-nav-group { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.landing-footer-nav-group > span { margin-bottom: .25rem; color: #8b8a8a; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.landing-footer-nav-group a { color: #c4c4c4; font-size: 12px; text-decoration: none; transition: color 180ms ease; }
.landing-footer-nav-group a:hover { color: #fff; }
.landing-footer-bottom { display: flex; width: min(1200px,100%); justify-content: space-between; gap: 1rem; margin: 0 auto; border-top: 1px solid rgba(255,255,255,.10); padding-top: 1.1rem; color: #686868; font-size: 10px; }
@media (max-width: 680px) {
  .landing-courses { padding: 3.5rem 1.25rem; }
  .landing-courses-heading { grid-template-columns: 1fr; gap: .75rem; margin-bottom: 1.5rem; }
  .landing-courses-heading h2 { font-size: 2.25rem; }
  .landing-courses-heading > p:last-child { max-width: 380px; }
  .landing-course-grid { grid-template-columns: 1fr; gap: .8rem; }
  .landing-course-card { min-height: 230px; padding: 1.2rem; }
  .landing-course-copy { padding: 1.7rem 0; }
  .landing-ecosystem { padding: 2.5rem 1.25rem 2rem; }
  .landing-ecosystem-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
  .landing-ecosystem-item { min-height: 80px; gap: .45rem; }
  .landing-ecosystem-item img { width: 48px; height: 48px; }
  .landing-youtube-mark { width: 58px; height: 42px; }
  .landing-site-footer { padding: 2rem 1.25rem 1rem; }
  .landing-footer-main { grid-template-columns: 1fr 1fr; gap: 2rem 1.25rem; padding-bottom: 1.75rem; }
  .landing-footer-brand-block { grid-column: 1/-1; }
}
@media (max-width: 360px) {
  .landing-footer-main { gap: 1.5rem 1rem; }
  .landing-footer-nav-group a { font-size: 11px; }
}


.landing-upcoming{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}.landing-upcoming-label,.landing-upcoming-course{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.landing-upcoming-label{color:rgba(255,255,255,.48);margin-right:.35rem}.landing-upcoming-course{padding:.45rem .7rem;border:1px solid rgba(255,255,255,.17);border-radius:999px}.landing-upcoming-note{font-size:.8rem;color:rgba(255,255,255,.58);margin-left:auto}@media(max-width:600px){.landing-upcoming-note{flex-basis:100%;margin-left:0}}
