/* Self-hosted latin subsets — npm run fonts:self-host */


/**
 * Design tokens + document reset for marketing first paint.
 * Full rules live in index.css (loaded asynchronously on `/`).
 */
:root {
  --brand-yellow: #fdcb45;
  --brand-yellow-soft: #ffe08a;
  --brand-yellow-deep: #f5b924;
  --brand-blue: #1aafe8;
  --brand-blue-soft: #7ad2f1;
  --brand-blue-deep: #0d8fc4;
  --brand-maker: #ff5c00;
  --brand-maker-deep: #e65300;
  --brand-admission: #1a4d3e;
  --brand-admission-deep: #0f3329;
  --brand-ink: #070614;
  --brand-ink-soft: rgba(7, 6, 20, 0.7);
  --brand-ink-muted: rgba(7, 6, 20, 0.5);

  --bg: #fcfcfc;
  --bg-elevated: #ffffff;
  --bg-subtle: #f4f5f7;
  --moodle-nav: #ffffff;
  --moodle-nav-border: rgba(7, 6, 20, 0.06);

  --border: rgba(7, 6, 20, 0.06);
  --border-strong: rgba(7, 6, 20, 0.12);

  --text: var(--brand-ink);
  --text-secondary: var(--brand-ink-soft);
  --muted: var(--brand-ink-muted);

  --topbar-pad-y: 0.4rem;
  --topbar-logo-size: 1.85rem;

  --accent: var(--brand-yellow);
  --accent-hover: var(--brand-yellow-deep);
  --accent-soft: rgba(253, 203, 69, 0.18);
  --accent-on: var(--brand-ink);

  --shadow-card: 0 4px 20px -4px rgba(7, 6, 20, 0.05);
  --shadow-float: 0 12px 30px -6px rgba(7, 6, 20, 0.08);

  --radius-2xl: 1.75rem;
  --landing-gutter: clamp(1.35rem, 4vw, 2rem);
  --landing-max: min(1920px, 100%);

  --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
    Arial, sans-serif;
  --font-display: 'Outfit', var(--font-sans);

  --student-audience-accent: var(--brand-blue);
  --student-audience-accent-on: #ffffff;

  color-scheme: light;
}

[data-app-variant='student'] {
  --bg: #f4f7f9;
  --bg-subtle: #ebf1f5;
  --accent: var(--student-audience-accent);
  --accent-on: var(--student-audience-accent-on);
}

[data-app-variant='marketplace'] {
  --makers-cream: #e5e5d8;
  --makers-cream-muted: #d4d4c8;
  --makers-ink: #0a0a0a;
  --bg: #0a0a0a;
  --bg-elevated: #111111;
  --bg-subtle: #161616;
  --surface-muted: #1a1a1a;
  --border: rgba(229, 229, 216, 0.12);
  --border-strong: rgba(229, 229, 216, 0.22);
  --text: #e5e5d8;
  --text-secondary: rgba(229, 229, 216, 0.72);
  --muted: rgba(229, 229, 216, 0.48);
  --accent: #ff5c00;
  --accent-hover: #e65300;
  --accent-on: #0a0a0a;
  color-scheme: dark;
}

[data-app-variant='admission'],
[data-app-variant='news'] {
  --bg: #f4f1ea;
  --bg-elevated: #ffffff;
  --bg-subtle: #ebe6dc;
  --text: #0f2e26;
  --text-secondary: #3d5c52;
  --muted: #6b847a;
  --border: rgba(15, 46, 38, 0.1);
  --border-strong: rgba(15, 46, 38, 0.18);
  --admission-forest: #1a4d3e;
  --accent: var(--admission-forest);
  --accent-on: #ffffff;
  --shadow-card: 0 4px 24px -6px rgba(12, 46, 36, 0.1);
}

:root {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
  margin: 0;
}

html {
  padding: 0;
  font-size: clamp(0.8125rem, 0.75rem + 0.35vw, 1rem);
}

body {
  min-height: 100vh;
  min-height: -webkit-fill-available;
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  line-height: 1.526;
  -webkit-font-smoothing: antialiased;
}

img,
video,
canvas,
iframe {
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}


/**
 * Route Suspense fallbacks — plain CSS only (no Tailwind on the critical path).
 */
@keyframes marketing-route-fallback-pulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.55;
  }
}

.marketing-route-fallback {
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--bg);
  color: var(--text);
}

.marketing-route-fallback--student {
  --bg: #f4f7f9;
}

.marketing-route-fallback--makers {
  background: #0a0a0a;
  color: #e5e5d8;
}

.marketing-route-fallback__header {
  position: sticky;
  top: 0;
  z-index: 40;
}

.marketing-route-fallback__bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0.75rem var(--landing-gutter);
}

.marketing-route-fallback__brand {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.marketing-route-fallback__brand-accent--teacher {
  color: var(--brand-yellow);
}

.marketing-static-shell__accent {
  color: var(--brand-yellow);
}

.marketing-static-shell__accent--student {
  color: var(--brand-blue);
}

.marketing-static-shell__accent--makers {
  color: var(--brand-maker);
}

.marketing-static-shell__brand-muted {
  color: rgba(229, 229, 216, 0.72);
  font-weight: 600;
}

.marketing-static-shell__header {
  position: sticky;
  top: 0;
  z-index: 40;
}

.marketing-static-shell__topbar {
  display: flex;
  align-items: center;
  max-width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0.75rem var(--landing-gutter);
}

.marketing-static-shell__brand {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.marketing-static-shell__main {
  max-width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 var(--landing-gutter) 2rem;
}

.marketing-static-shell--student {
  --bg: #f4f7f9;
  background: var(--bg);
}

.marketing-static-shell--makers {
  background: #0a0a0a;
  color: #e5e5d8;
  min-height: 100dvh;
}


.marketing-route-fallback__brand-accent--student {
  color: var(--brand-blue);
}

.marketing-route-fallback__brand-accent--makers {
  color: var(--brand-maker);
}

.marketing-route-fallback__brand-muted {
  color: rgba(229, 229, 216, 0.72);
  font-weight: 600;
}

.marketing-route-fallback__main {
  width: 100%;
  max-width: min(1440px, 100%);
  margin: 0 auto;
  padding: 1.5rem var(--landing-gutter);
}

.marketing-route-fallback__hero-placeholder {
  min-height: min(420px, 62vh);
  border-radius: var(--radius-2xl);
  background: var(--bg-elevated);
  box-shadow: var(--shadow-card);
  animation: marketing-route-fallback-pulse 1.8s ease-in-out infinite;
}

.marketing-route-fallback--makers .marketing-route-fallback__hero-placeholder {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

.marketing-route-fallback--student .marketing-route-fallback__hero-placeholder {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 24px -6px rgba(7, 6, 20, 0.08);
}

/* ── Teacher mobile landing (phone-only, not a desktop clone) ── */
html.is-mobile-landing .marketing-static-shell__hero .persona-hero__art {
  display: none;
}

.marketing-static-shell__sub--desktop {
  display: none;
}

.marketing-static-shell__cta-desktop {
  display: none;
}

@media (min-width: 768px) {
  .marketing-static-shell__sub--desktop {
    display: inline;
  }

  .marketing-static-shell__sub--mobile {
    display: none;
  }

  .marketing-static-shell__cta-desktop {
    display: inline-flex;
  }

  .marketing-static-shell__cta-mobile {
    display: none;
  }
}

.landing-mobile-home {
  display: flex;
  flex-direction: column;
  gap: clamp(1.35rem, 4vw, 1.75rem);
  padding: 0.35rem 0 0.5rem;
}

.landing-mobile-hero {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  text-align: left;
}

.landing-mobile-hero__kicker {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent-hover);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.landing-mobile-hero__headline {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 7.8vw, 2.05rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--text);
}

.landing-mobile-hero__headline em {
  color: var(--accent);
  font-style: normal;
}

.landing-mobile-hero__sub {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: 36ch;
}

.landing-mobile-hero__ctas {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 0.15rem;
}

.landing-mobile-hero__ctas .primary {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.landing-mobile-hero__secondary,
a.landing-mobile-hero__secondary:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.65rem;
  padding: 0.65rem 1.1rem;
  border-radius: 999px;
  border: 1.5px solid color-mix(in srgb, var(--accent) 28%, var(--border-strong));
  background: var(--bg-elevated);
  color: var(--text);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}

.landing-mobile-pillars__title {
  margin: 0 0 0.65rem;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.landing-mobile-pillars__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.landing-mobile-pillars__item {
  padding: 0.85rem 0.95rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.landing-mobile-pillars__item-title {
  margin: 0 0 0.25rem;
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text);
}

.landing-mobile-pillars__item-body {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--text-secondary);
}

.landing-mobile-trust {
  margin: 0;
  padding: 0.75rem 0.85rem;
  border-radius: var(--radius);
  border: 1px dashed var(--border-strong);
  background: color-mix(in srgb, var(--bg-subtle) 70%, var(--bg-elevated));
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--text-secondary);
}

.landing-mobile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  padding-bottom: 0.25rem;
}

.landing-mobile-links a {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--accent-hover);
  text-decoration: none;
}

.landing-layout--mobile-home .landing-ambient-layer {
  display: none;
}

.landing-layout--mobile-home .landing-footer {
  margin-top: 0.25rem;
}

.landing-mobile-home--student .landing-mobile-hero__headline em {
  color: #1aafe8;
  font-style: normal;
}

.landing-mobile-home--makers {
  color: #e5e5d8;
}

.landing-mobile-home--makers .landing-mobile-hero__kicker {
  color: #ff5c00;
}

.landing-mobile-home--makers .landing-mobile-hero__headline {
  color: #e5e5d8;
  font-size: clamp(1.45rem, 7vw, 1.85rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.landing-mobile-home--makers .landing-mobile-hero__sub,
.landing-mobile-home--makers .landing-mobile-pillars__item-body,
.landing-mobile-home--makers .landing-mobile-trust {
  color: rgba(229, 229, 216, 0.72);
}

.landing-mobile-home--makers .landing-mobile-pillars__title {
  color: rgba(229, 229, 216, 0.48);
}

.landing-mobile-home--makers .landing-mobile-pillars__item {
  background: #111111;
  border-color: rgba(229, 229, 216, 0.12);
}

.landing-mobile-home--makers .landing-mobile-pillars__item-title {
  color: #e5e5d8;
}

.landing-mobile-home--makers .landing-mobile-trust {
  border-color: rgba(229, 229, 216, 0.22);
  background: rgba(255, 255, 255, 0.04);
}

.landing-mobile-home--makers .landing-mobile-hero__ctas .makers-btn {
  width: 100%;
  justify-content: center;
}

.landing-mobile-links__btn {
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  color: #ff5c00;
  cursor: pointer;
  text-decoration: none;
}

.landing-mobile-home--makers .landing-mobile-links__btn {
  color: #ff5c00;
}

html.is-mobile-landing .student-hero-scene__art,
html.is-mobile-landing .marketing-static-shell--student .student-hero-scene__art {
  display: none;
}

[data-app-variant='marketplace'] .landing-layout--mobile-home .printables-hub-marketplace__main {
  background: var(--bg);
}


/* AUTO-GENERATED — npm run build:landing-critical-css */

/* Marketing hero + chrome (from index.css) */


.brand-wordmark__logo{
  width: auto;
  height: var(--topbar-logo-size);
  max-width: calc(var(--topbar-logo-size) * 1.12);
  flex-shrink: 0;
  object-fit: contain;
  display: block;
}

[data-app-variant='student'] .brand-wordmark__logo-shell .brand-wordmark__logo.app-logo--mascot,
[data-app-variant='student'] .brand-wordmark__logo-shell .app-topbar-logo.app-logo--mascot{
  position: relative;
  z-index: 1;
  background: transparent;
  padding: 0;
  border-radius: 0;
}

.brand-wordmark{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.brand-wordmark__logo.app-logo--alt{
  max-width: calc(var(--brand-logo-size) * 1.45);
}

.brand-wordmark__logo--footer.app-logo--alt{
  max-width: calc(var(--brand-logo-size-footer) * 1.45) !important;
}

.brand-wordmark__logo--footer,
.landing-logo--small{
  width: auto !important;
  height: var(--brand-logo-size-footer) !important;
  max-width: calc(var(--brand-logo-size-footer) * 1.12) !important;
}

.brand-wordmark--footer .app-brand{
  font-size: 1.05rem;
}

.brand-wordmark__beta{
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--accent) 15%, transparent);
  padding: 0.125rem 0.5rem;
  font-family: var(--font-display);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-hover);
  line-height: 1.2;
}

.avatar-stack{
  --avatar-size: 40px;
  display: inline-flex;
  align-items: center;
}

.avatar-stack__avatar{
  position: relative;
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50%;
  overflow: hidden;
  background: var(--bg-elevated, #fff);
  box-shadow: 0 0 0 3px var(--bg-elevated, #fff), 0 4px 10px rgba(13, 16, 35, 0.08);
}

.avatar-stack__avatar .persona{
  display: block;
  width: 100%;
  height: 100%;
}

.avatar-stack__more{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--avatar-size);
  height: var(--avatar-size);
  padding: 0 0.55rem;
  border-radius: 999px;
  background: var(--surface-muted, #f4f5f8);
  color: var(--text, #1d2433);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  box-shadow: 0 0 0 3px var(--bg-elevated, #fff);
  z-index: 0;
}

.persona-hero{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(1.25rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(1.25rem, 4vw, 2.25rem) 0 1rem;
}

@media (max-width: 880px){.persona-hero{
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }}

.persona-hero__copy{
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  max-width: 38rem;
}

@media (max-width: 880px){.persona-hero__copy{
    margin-inline: auto;
    align-items: center;
  }}

.persona-hero__kicker{
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (max-width: 880px){.persona-hero__kicker{
    align-self: center;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    color: var(--accent-hover);
  }}

.persona-hero__headline{
  margin: 0;
  font-family: var(--font-display);
  /* clamp ramp: 1.75rem (28px) at 320px → 3.4rem (54px) at the 1440px+ ceiling.
     Wider midband so the headline doesn't go awkwardly small on 480-720 phones
     but also doesn't shout at 4K. */
  font-size: clamp(1.75rem, 4.6vw, 3.4rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--text, #1d2433);
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.persona-hero__headline em{
  color: var(--accent);
  font-style: normal;
}

.persona-hero__sub{
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--text-secondary, #57607a);
  max-width: 42ch;
  text-wrap: pretty;
}

.persona-hero__sub-rubi{
  color: var(--accent);
  font-weight: 800;
  font-family: var(--font-display, inherit);
}

.persona-hero__ctas{
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
}

.persona-hero__cta-secondary,
a.persona-hero__cta-secondary:visited{
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: 0.01em;
  font-size: 0.9075rem;
  line-height: 1.2;
  padding: 0.72rem 1.35rem;
  min-height: 2.75rem;
  border-radius: 999px;
  border: 1.5px solid color-mix(in srgb, var(--accent) 28%, var(--border-strong));
  background: var(--bg-elevated);
  color: var(--text);
  text-decoration: none;
  cursor: pointer;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    var(--shadow-xs);
  transition:
    background 0.2s cubic-bezier(0.2, 0.65, 0.3, 1),
    border-color 0.2s ease,
    box-shadow 0.25s ease,
    transform 0.18s cubic-bezier(0.2, 0.65, 0.3, 1);
  will-change: transform;
}

.persona-hero__cta-secondary:hover{
  background: color-mix(in srgb, var(--accent-soft) 42%, var(--bg-elevated));
  border-color: color-mix(in srgb, var(--accent) 42%, var(--border-strong));
  transform: translateY(-1px) scale(1.02);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    var(--shadow-card);
}

.persona-hero__cta-secondary:active{
  transform: scale(0.95);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    var(--shadow-xs);
}

.persona-hero__cta-secondary:focus-visible{
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.persona-hero__cta-secondary-icon{
  flex-shrink: 0;
  margin-top: 0.08rem;
  opacity: 0.72;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.persona-hero__cta-secondary:hover .persona-hero__cta-secondary-icon{
  opacity: 1;
  transform: translateY(1px);
}

@media (max-width: 880px){.persona-hero__ctas{
    justify-content: center;
  }}

.persona-hero__art{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: clamp(260px, 42vw, 560px);
  margin-inline: auto;
}

@media (max-width: 520px){.persona-hero__art{
    max-width: min(88vw, 360px);
  }}

.hero-illustration{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.hero-illustration--dynamic{
  aspect-ratio: 1 / 1;
  max-height: none;
  contain: layout style;
}

.hero-illustration--dynamic .hero-illustration__art{
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.persona-hero__art .hero-illustration--dynamic{
  max-width: 100%;
  width: 100%;
}

.hero-illustration__rays{
  position: absolute;
  inset: -8%;
  border-radius: 50%;
  background:
    repeating-conic-gradient(
      from 0deg at 50% 50%,
      color-mix(in srgb, var(--accent-soft, #fff1cc) 55%, transparent) 0deg 8deg,
      transparent 8deg 18deg
    );
  opacity: 0.45;
  z-index: 0;
  pointer-events: none;
  animation: hero-rays-spin 48s linear infinite;
}

@media (prefers-reduced-motion: reduce){.hero-illustration__rays{
    animation: none;
  }}

.hero-illustration__halo{
  position: absolute;
  inset: 6% 4% 2% 4%;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 52%,
    color-mix(in srgb, var(--accent-soft, #fff1cc) 42%, transparent) 0%,
    color-mix(in srgb, var(--accent-soft, #fff1cc) 12%, transparent) 52%,
    transparent 72%
  );
  z-index: 1;
  pointer-events: none;
}

.hero-illustration__accent-dot{
  position: absolute;
  width: 6.5%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--accent);
  top: 14%;
  right: 10%;
  z-index: 9;
  pointer-events: none;
  box-shadow:
    -28% 14% 0 -0.6rem color-mix(in srgb, var(--accent-soft, #fff1cc) 70%, transparent),
    -9% 52% 0 -1rem color-mix(in srgb, var(--accent) 50%, transparent);
}

.hero-illustration__art{
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.persona-hero__art .hero-illustration{
  max-width: 100%;
}

.persona-hero__art .persona,
.persona-hero__art .persona svg{
  width: 100%;
  height: 100%;
}

.persona-hero__art::before,
.persona-hero__art::after{
  content: none;
}

.persona-hero__social{
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.persona-hero__social-copy{
  display: flex;
  flex-direction: column;
  font-size: 0.85rem;
  line-height: 1.35;
  color: var(--text-secondary, #57607a);
}

.persona-hero__social-copy strong{
  color: var(--text, #1d2433);
  font-weight: 700;
  letter-spacing: -0.005em;
}

@media (max-width: 599px){.persona-hero{
    padding-top: 0.35rem;
    padding-bottom: 0.5rem;
    gap: 1.15rem;
  }.persona-hero__copy{
    gap: 0.95rem;
  }.persona-hero__kicker{
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    padding: 0.4rem 0.9rem;
    color: var(--accent-hover);
  }.persona-hero__headline{
    font-size: clamp(1.65rem, 8.2vw, 2.15rem);
  }.persona-hero__sub{
    max-width: none;
    font-size: 0.98rem;
  }.persona-hero__ctas{
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 22rem;
    margin-inline: auto;
    gap: 0.65rem;
  }.persona-hero__ctas > span{
    display: flex !important;
    width: 100%;
  }.persona-hero__ctas .primary,
  .persona-hero__cta-secondary{
    width: 100%;
  }.persona-hero__social{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.55rem;
    max-width: 22rem;
    margin-inline: auto;
  }.persona-hero__social-copy{
    align-items: center;
  }.persona-hero__art{
    max-width: min(88vw, 360px);
  }}

.landing-layout{
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(ellipse 80% 50% at 50% -20%, color-mix(in srgb, var(--moodle-nav) 8%, transparent), transparent),
    var(--bg);
}

.landing-top-shell{
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  margin: 0;
  padding-top: env(safe-area-inset-top, 0px);
  background: var(--moodle-nav);
  border-bottom: 1px solid var(--moodle-nav-border);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  color: var(--text);
}

.landing-top{
  /* Match the marketing-main 1440px cap so the brand wordmark + nav sit
     directly above the hero content on ultra-wide displays. Earlier value
     of `--landing-max` (1920px) caused the header to feel wider than the
     content beneath on a 27"+ monitor. */
  max-width: min(1440px, var(--landing-max));
  margin: 0 auto;
  width: 100%;
  padding: var(--topbar-pad-y) var(--landing-gutter);
  padding-left: calc(var(--landing-gutter) + env(safe-area-inset-left, 0px));
  padding-right: calc(var(--landing-gutter) + env(safe-area-inset-right, 0px));
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem 0.65rem;
  flex-wrap: nowrap;
}

.landing-top-utilities{
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  margin-left: auto;
}

.landing-top .landing-logo,
.landing-top .brand-wordmark__logo{
  height: var(--topbar-logo-size) !important;
  max-width: calc(var(--topbar-logo-size) * 1.12) !important;
}

.landing-brand,
.landing-brand-link{
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  color: inherit;
}

.landing-logo{
  width: auto;
  height: var(--brand-logo-size);
  max-width: calc(var(--brand-logo-size) * 1.12);
  flex-shrink: 0;
  object-fit: contain;
}

@media (min-width: 900px){.landing-top{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 0.75rem;
  }.landing-top > .landing-brand,
  .landing-top > .landing-brand-link{
    grid-column: 1;
    justify-self: start;
  }.landing-top > .landing-top-utilities{
    grid-column: 3;
    justify-self: end;
    margin-left: 0;
  }}

.landing-brand-link:hover .brand-wordmark__logo,
.landing-brand-link:hover .landing-logo{
  transform: scale(1.06) rotate(-3deg);
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: no-preference){.landing-top-shell{
    animation: landing-top-shell-in 0.58s cubic-bezier(0.22, 1, 0.36, 1) both;
  }}

@media (prefers-reduced-motion: reduce){.landing-brand-link:hover .landing-logo{
    transform: none;
    transition: none;
  }}

.landing-main--marketing{
  /* Marketing copy reads best at a focused column even on ultra-wide
     monitors — the shared `--landing-max` (1920px) stretched the hero,
     audience, and feature sections so far they looked unbalanced.
     1440px keeps everything legible from 1440px → 2560px while still
     filling 1024-1366 laptops. The cap also gives the hero copy column
     a sensible width so the parent reassurance pill and the mock-result
     visual don't drift apart. */
  max-width: min(1440px, var(--landing-max));
  margin: 0 auto;
  width: 100%;
  padding: clamp(2.25rem, 5vw, 3rem) var(--landing-gutter) 5rem;
  padding-left: calc(var(--landing-gutter) + env(safe-area-inset-left, 0px));
  padding-right: calc(var(--landing-gutter) + env(safe-area-inset-right, 0px));
}

.landing-hero-slab{
  position: relative;
  isolation: isolate;
  overflow: clip;
  margin-bottom: clamp(2rem, 5vw, 3.25rem);
  padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.25rem, 3.5vw, 2rem)
    clamp(2rem, 5vw, 3rem);
  border-radius: calc(var(--radius-lg) + 6px);
  border: 1px solid color-mix(in srgb, var(--border) 65%, #fff);
  box-shadow:
    var(--shadow-sm),
    0 24px 64px color-mix(in srgb, var(--text) 5%, transparent);
  background: var(--landing-hero-surface);
}

.landing-hero-slab--streamlined{
  margin-bottom: clamp(1.85rem, 5vw, 2.65rem);
  background: transparent;
  border: none;
  box-shadow: none;
}

.landing-layout--audience-students{
  --accent: var(--student-audience-accent);
  --accent-hover: var(--student-audience-accent-hover);
  --accent-soft: var(--student-audience-accent-soft);
  --accent-border: var(--student-audience-accent-border);
  --accent-muted-bg: var(--student-audience-muted-bg);
  --focus-ring: color-mix(in srgb, var(--student-audience-accent) 45%, transparent);
}

.landing-layout--auth-transition{
  min-height: 100dvh;
  min-height: 100vh;
}

@media (max-width: 599px){.landing-top-shell{
    border-radius: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  }.landing-top-shell--drawer-open{
    z-index: 50;
  }.landing-top{
    flex-wrap: wrap;
    align-items: center;
    row-gap: 0.35rem;
    column-gap: 0.45rem;
    padding-top: max(0.4rem, env(safe-area-inset-top, 0px));
    padding-bottom: 0.4rem;
    padding-left: calc(var(--landing-gutter) + env(safe-area-inset-left, 0px));
    padding-right: calc(var(--landing-gutter) + env(safe-area-inset-right, 0px));
  }.landing-top-utilities{
    margin-left: auto;
  }.landing-layout--drawer-open{
    --landing-drawer-top: calc(3.35rem + env(safe-area-inset-top, 0px));
  }.landing-layout--drawer-open .landing-top{
    flex-wrap: nowrap;
    align-items: center;
  }.landing-layout--drawer-open .landing-top-shell{
    overflow: visible;
  }.landing-main--marketing{
    padding-top: 1.1rem;
    padding-bottom: 3.5rem;
  }.landing-hero-slab{
    margin-top: -0.2rem;
  }}

.landing-layout--airy{
  --landing-section-gap: clamp(3rem, 6.5vw, 4.5rem);
  --landing-card-bg: var(--bg-elevated);
  --landing-card-border: color-mix(in srgb, var(--border) 88%, transparent);
}

.landing-layout--airy .landing-hero-slab{
  border: none;
  box-shadow: none;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

.landing-layout--airy .landing-footer{
  background: transparent;
}

@media (max-width: 767px){.student-home-header{
    padding-top: env(safe-area-inset-top, 0px);
  }.student-hero-scene__decor{
    display: none;
  }.student-hero-scene__backdrop span{
    filter: blur(48px);
  }}

@media (max-width: 599px){.student-hero-scene{
    margin-top: 0.25rem;
  }.student-hero-scene__backdrop{
    border-radius: 28px;
  }}

.landing-layout--graphing{
  height: 100dvh;
  max-height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  --landing-gutter: clamp(0.75rem, 2vw, 1.25rem);
}

.landing-layout--graphing .landing-top-shell{
  flex-shrink: 0;
}

.landing-layout--graphing .landing-top{
  max-width: none;
}

@media (max-width: 767px){.landing-layout--graphing{
    height: auto;
    max-height: none;
    min-height: 100dvh;
    overflow: visible;
  }}

.landing-layout--printables{
  height: 100dvh;
  max-height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  --landing-gutter: clamp(0.75rem, 2vw, 1.25rem);
}

.landing-layout--printables .landing-top-shell{
  flex-shrink: 0;
}

.landing-layout--printables .landing-top{
  max-width: none;
}

.landing-top-shell--printables-hub .landing-top--printables-hub{
  justify-content: space-between;
  gap: 0.75rem;
}

.landing-top--printables-hub .landing-top-utilities{
  flex-shrink: 0;
}

.landing-layout--marketplace{
  background:
    radial-gradient(ellipse 85% 60% at 100% -5%, color-mix(in srgb, var(--accent) 14%, transparent) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at -8% 100%, rgba(99, 102, 241, 0.12) 0%, transparent 52%),
    var(--bg);
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.landing-layout--marketplace .landing-main{
  flex: 1 1 auto;
}

.landing-layout--marketplace .makers-site-footer{
  flex-shrink: 0;
}

.landing-layout--marketplace .marketplace-site-header{
  flex-shrink: 0;
}

.landing-layout--marketplace .printables-hub-marketplace__main{
  padding-top: clamp(0.65rem, 1.2vw, 0.95rem);
}

.landing-layout--marketplace .marketplace-site-header__kicker{
  background: linear-gradient(135deg, var(--accent) 0%, #6366f1 100%);
  box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 35%, transparent);
}

[data-app-variant='marketplace'] .brand-wordmark__logo-shell--makers{
  --makers-logo-shell: var(--topbar-logo-size);
  position: relative;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: var(--makers-logo-shell);
  height: var(--makers-logo-shell);
}

[data-app-variant='marketplace'] .brand-wordmark--footer .brand-wordmark__logo-shell--makers{
  --makers-logo-shell: var(--brand-logo-size-footer);
}

[data-app-variant='marketplace'] .brand-wordmark__logo-shell--makers .makers-pixel-bot{
  width: 100%;
  height: 100%;
  color: var(--accent);
}

.landing-layout--marketplace .marketplace-site-header__link--active{
  box-shadow:
    var(--accent-shadow-soft),
    0 0 16px color-mix(in srgb, var(--accent) 25%, transparent);
}

@media (max-width: 899px){.landing-layout--marketplace.landing-layout--drawer-open{
    --landing-drawer-top: calc(3.15rem + env(safe-area-inset-top, 0px));
  }}

.landing-layout--marketplace-account{
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.landing-main--printables{
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.landing-main--printables.landing-main--marketing{
  overflow: hidden;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

@media (max-width: 767px){.landing-layout--printables-tool{
    height: auto;
    max-height: none;
    min-height: 100dvh;
    overflow: visible;
  }}

/* Makers splash (from makers-theme.css) */

[data-app-variant='marketplace'] .makers-pixel{
  font-family: var(--makers-font-pixel);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.05;
}

[data-app-variant='marketplace'] .landing-layout--marketplace .printables-hub-page--hub{
  flex: 1 1 auto;
  min-height: 0;
}

[data-app-variant='marketplace'] .landing-layout--marketplace .printables-hub-marketplace--full{
  min-height: 100%;
}

[data-app-variant='marketplace'] .landing-layout--marketplace:has(.makers-landing--splash) .printables-hub-marketplace--full{
  height: 100%;
  min-height: 0;
}

[data-app-variant='marketplace'] .printables-hub-marketplace__main:has(.makers-landing--splash){
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}

[data-app-variant='marketplace'] .printables-hub-marketplace__main:has(.makers-landing--splash) .makers-landing--splash{
  flex: 1 1 auto;
  min-height: 0;
}

[data-app-variant='marketplace'] .printables-hub-marketplace__main:has(.makers-landing--splash) .makers-community{
  flex-shrink: 0;
}

[data-app-variant='marketplace'] .makers-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.65rem;
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font: 600 0.8125rem/1.2 var(--font-display);
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--ui-press-duration) var(--ui-press-ease),
    background 0.15s ease,
    border-color 0.15s ease;
}

[data-app-variant='marketplace'] .makers-btn--compact{
  min-height: 2rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.75rem;
}

[data-app-variant='marketplace'] .makers-btn--icon{
  gap: 0.4rem;
}

[data-app-variant='marketplace'] .makers-btn__icon{
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
}

[data-app-variant='marketplace'] .makers-btn--orange{
  background: var(--accent);
  color: var(--accent-on);
  border-color: var(--accent);
}

[data-app-variant='marketplace'] .makers-btn--orange:hover{
  background: var(--accent-hover);
}

[data-app-variant='marketplace'] .makers-btn--cream{
  background: var(--makers-cream);
  color: var(--makers-ink);
  border-color: var(--makers-cream);
}

[data-app-variant='marketplace'] .makers-btn--cream:hover{
  background: #f0f0e4;
}

[data-app-variant='marketplace'] .makers-btn--ghost{
  background: transparent;
  color: var(--text);
  border-color: var(--border-strong);
}

[data-app-variant='marketplace'] .makers-btn--ghost:hover{
  background: rgba(229, 229, 216, 0.06);
}

[data-app-variant='marketplace'] .makers-header__utilities .makers-btn,
[data-app-variant='marketplace'] .makers-header__utilities .lang-switcher--makers .lang-switcher__trigger{
  box-sizing: border-box;
  height: var(--makers-header-pill-h);
  min-height: var(--makers-header-pill-h);
  max-height: var(--makers-header-pill-h);
  padding-block: 0;
  line-height: 1;
}

[data-app-variant='marketplace'] .makers-header__utilities .makers-btn--compact{
  padding-inline: 0.85rem;
}

[data-app-variant='marketplace'] .makers-header__utilities .makers-btn--icon{
  gap: 0.35rem;
  padding-inline: 0.75rem;
}

@media (max-width: 899px){[data-app-variant='marketplace'] .makers-header__drawer-actions .makers-btn{
    width: 100%;
  }}

[data-app-variant='marketplace'] .makers-pixel-bot{
  display: block;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  color: var(--accent);
  shape-rendering: crispEdges;
  image-rendering: pixelated;
}

[data-app-variant='marketplace'] .brand-wordmark__logo-shell--makers .makers-pixel-bot{
  width: 100%;
  height: 100%;
}

[data-app-variant='marketplace'] .makers-landing{
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  padding-bottom: 0.5rem;
}

[data-app-variant='marketplace'] .makers-landing--splash{
  flex: 1 1 auto;
  min-height: 0;
  gap: clamp(1.5rem, 3vw, 2rem);
}

[data-app-variant='marketplace'] .makers-landing__splash{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-bento--duo{
  flex: 1 1 auto;
  min-height: clamp(20rem, 46vh, 30rem);
  height: 100%;
  align-items: stretch;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-card--hero{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  align-self: stretch;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-card--stack{
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  min-height: 100%;
  height: 100%;
  padding: clamp(0.85rem, 1.5vw, 1.1rem);
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-card--stack .makers-card__stack-body{
  flex: 1 1 auto;
  justify-content: center;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-card--stack .makers-card__section-pixel{
  margin-bottom: 0.6rem;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-pill-list{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.45rem;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-audiences{
  flex-shrink: 0;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-pill{
  align-items: center;
  padding: 0.42rem 0.58rem;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-pill__desc{
  display: none;
}

[data-app-variant='marketplace'] .makers-card__hero-body,
[data-app-variant='marketplace'] .makers-card__stack-body{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: center;
  min-height: 0;
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-card__pixel-headline{
  max-width: none;
  font-size: clamp(2.35rem, 5.5vw, 3.75rem);
}

[data-app-variant='marketplace'] .makers-landing--splash .makers-card__lede{
  max-width: 34rem;
  font-size: clamp(0.875rem, 1.5vw, 0.95rem);
}

[data-app-variant='marketplace'] .makers-bento{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  grid-template-rows: auto auto;
  gap: 0.85rem;
}

[data-app-variant='marketplace'] .makers-bento--duo{
  grid-template-rows: auto;
  align-items: stretch;
}

[data-app-variant='marketplace'] .makers-bento--duo .makers-card--hero{
  grid-row: span 1;
  min-height: 0;
}

[data-app-variant='marketplace'] .makers-bento--duo .makers-card--stack{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

[data-app-variant='marketplace'] .makers-card{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-2xl);
  border: 1px solid var(--border);
}

[data-app-variant='marketplace'] .makers-card--dark{
  background: var(--bg-elevated);
  color: var(--text);
}

[data-app-variant='marketplace'] .makers-card--cream{
  background: var(--makers-cream);
  color: var(--makers-ink);
  border-color: rgba(10, 10, 10, 0.08);
}

[data-app-variant='marketplace'] .makers-card--hero{
  grid-row: span 2;
  padding: clamp(1.15rem, 2.5vw, 1.65rem);
  min-height: 18rem;
}

[data-app-variant='marketplace'] .makers-card--stack,
[data-app-variant='marketplace'] .makers-card--studio{
  padding: clamp(1rem, 2vw, 1.35rem);
}

[data-app-variant='marketplace'] .makers-card__grid--dark{
  color: rgba(10, 10, 10, 0.12);
}

[data-app-variant='marketplace'] .makers-card__pixel-headline{
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2rem, 4.5vw, 3rem);
  color: var(--makers-cream);
}

[data-app-variant='marketplace'] .makers-card--cream .makers-card__section-pixel{
  position: relative;
  z-index: 1;
  margin: 0 0 0.85rem;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  color: var(--makers-ink);
}

[data-app-variant='marketplace'] .makers-card__lede{
  position: relative;
  z-index: 1;
  margin: 0.75rem 0 0;
  max-width: 28rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--text-secondary);
}

[data-app-variant='marketplace'] .makers-card__actions{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1.1rem;
}

[data-app-variant='marketplace'] .makers-card__headline-sub{
  position: relative;
  z-index: 1;
  margin: 0.35rem 0 0;
  max-width: 28rem;
  font: 600 0.82rem/1.45 var(--font-display);
  color: var(--accent);
}

[data-app-variant='marketplace'] .makers-card__bot{
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 2;
  width: clamp(4.5rem, 11vw, 7.5rem);
  height: clamp(4.5rem, 11vw, 7.5rem);
  color: var(--accent);
  pointer-events: none;
  filter: drop-shadow(0 8px 20px color-mix(in srgb, var(--accent) 28%, transparent));
}

[data-app-variant='marketplace'] .makers-pixel-bot--frame-anim .makers-pixel-bot__pixels{
  transform-box: fill-box;
  transform-origin: center bottom;
}

[data-app-variant='marketplace'] .makers-hero-blob{
  position: absolute;
  border-radius: 999px;
  background: var(--makers-cream);
  opacity: 0.06;
  filter: blur(1px);
}

[data-app-variant='marketplace'] .makers-hero-blob--1{
  width: 42%;
  height: 42%;
  top: 8%;
  right: -8%;
  animation: makers-blob-drift-a 26s ease-in-out infinite;
  animation-delay: -6s;
}

[data-app-variant='marketplace'] .makers-hero-blob--2{
  width: 28%;
  height: 28%;
  bottom: 18%;
  left: -6%;
  animation: makers-blob-drift-b 32s ease-in-out infinite;
  animation-delay: -14s;
}

[data-app-variant='marketplace'] .makers-hero-blob--3{
  width: 18%;
  height: 18%;
  top: 42%;
  right: 28%;
  background: var(--accent);
  opacity: 0.12;
  animation: makers-blob-drift-c 20s ease-in-out infinite;
  animation-delay: -9s;
}

[data-app-variant='marketplace'] .makers-card__studio-tagline{
  position: relative;
  z-index: 1;
  margin: 0.25rem 0 0.65rem;
  font-size: 0.72rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

[data-app-variant='marketplace'] .makers-audiences{
  position: relative;
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: var(--radius-2xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  overflow: hidden;
}

[data-app-variant='marketplace'] .makers-audiences__grid{
  opacity: 0.55;
}

[data-app-variant='marketplace'] .makers-audiences__head{
  position: relative;
  z-index: 1;
  margin-bottom: 0.85rem;
}

[data-app-variant='marketplace'] .makers-audiences__title{
  margin: 0;
  font-size: clamp(0.95rem, 2vw, 1.1rem);
}

[data-app-variant='marketplace'] .makers-audiences__lede{
  margin: 0.45rem 0 0;
  max-width: 40rem;
  font-size: 0.82rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

[data-app-variant='marketplace'] .makers-audiences__grid-cards{
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

[data-app-variant='marketplace'] .makers-community{
  position: relative;
  flex-shrink: 0;
  margin: clamp(0.85rem, 2vw, 1.25rem) 0 0;
  padding: clamp(0.75rem, 1.6vw, 1rem) clamp(0.85rem, 1.8vw, 1.15rem);
  border-radius: var(--radius-2xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  overflow: hidden;
}

[data-app-variant='marketplace'] .makers-community__grid{
  opacity: 0.5;
}

[data-app-variant='marketplace'] .makers-community__inner{
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.85rem;
  align-items: center;
}

@media (min-width: 640px) and (max-width: 899px){[data-app-variant='marketplace'] .makers-community--row .makers-community__inner{
    grid-template-columns: minmax(0, 1fr) minmax(0, 8.5rem);
    grid-template-areas:
      'copy actions'
      'gallery gallery';
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__copy{
    grid-area: copy;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__gallery{
    grid-area: gallery;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__actions{
    grid-area: actions;
  }}

@media (min-width: 900px){[data-app-variant='marketplace'] .makers-community--row .makers-community__inner{
    grid-template-columns: minmax(0, 10.5rem) minmax(0, 1fr) minmax(0, 8.75rem);
    gap: 0.85rem 1rem;
  }}

[data-app-variant='marketplace'] .makers-community__title{
  margin: 0.28rem 0 0;
  font-size: clamp(0.82rem, 1.6vw, 0.95rem);
  line-height: 1.35;
}

[data-app-variant='marketplace'] .makers-community__lede{
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

@media (min-width: 900px){[data-app-variant='marketplace'] .makers-community--row .makers-community__lede{
    display: none;
  }}

[data-app-variant='marketplace'] .makers-community__actions{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
  min-width: 0;
}

@media (min-width: 900px){[data-app-variant='marketplace'] .makers-community--row .makers-community__actions{
    justify-self: end;
    width: 100%;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__icon{
    display: none;
  }}

[data-app-variant='marketplace'] .makers-btn--compact{
  min-height: 2.15rem;
  padding: 0.42rem 0.7rem;
  font-size: 0.68rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

[data-app-variant='marketplace'] .makers-community__icon{
  display: flex;
  justify-content: center;
  margin-bottom: 0.05rem;
  color: var(--accent);
  opacity: 0.85;
}

[data-app-variant='marketplace'] .makers-community__gallery{
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 4%,
    #000 96%,
    transparent 100%
  );
}

[data-app-variant='marketplace'] .makers-community__gallery-fade{
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(1.5rem, 5vw, 3rem);
  z-index: 2;
  pointer-events: none;
}

[data-app-variant='marketplace'] .makers-community__gallery-fade--left{
  left: 0;
  background: linear-gradient(90deg, var(--bg-elevated) 0%, transparent 100%);
}

[data-app-variant='marketplace'] .makers-community__gallery-fade--right{
  right: 0;
  background: linear-gradient(270deg, var(--bg-elevated) 0%, transparent 100%);
}

[data-app-variant='marketplace'] .makers-community__gallery-track{
  display: flex;
  gap: 0.55rem;
  width: max-content;
  padding: 0;
  animation: makers-community-gallery-scroll 52s linear infinite;
}

@media (prefers-reduced-motion: reduce){[data-app-variant='marketplace'] .makers-community__gallery-track{
    animation: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }[data-app-variant='marketplace'] .makers-community__gallery-track::-webkit-scrollbar{
    display: none;
  }[data-app-variant='marketplace'] .makers-community__showcase-visual{
    animation: none !important;
  }}

[data-app-variant='marketplace'] .makers-community__showcase-card{
  flex: 0 0 auto;
  width: clamp(5.75rem, 9vw, 7rem);
  scroll-snap-align: start;
}

[data-app-variant='marketplace'] .makers-community__showcase-card--link{
  display: block;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.18s ease, filter 0.18s ease;
}

[data-app-variant='marketplace'] .makers-community__showcase-card--link:hover{
  transform: translateY(-3px);
  filter: brightness(1.06);
}

[data-app-variant='marketplace'] .makers-community__showcase-card--link:focus-visible{
  outline: 2px solid var(--makers-accent, #f97316);
  outline-offset: 3px;
  border-radius: var(--radius-lg);
}

[data-app-variant='marketplace'] .makers-community__showcase-stage{
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-strong);
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 92, 0, 0.14) 0%, transparent 55%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.04) 0%, transparent 45%),
    var(--bg-subtle);
  overflow: hidden;
}

[data-app-variant='marketplace'] .makers-community__showcase-stage::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 14px 14px;
  opacity: 0.55;
  pointer-events: none;
}

[data-app-variant='marketplace'] .makers-community__showcase-badge{
  position: absolute;
  top: 0.28rem;
  left: 0.28rem;
  z-index: 1;
  padding: 0.12rem 0.32rem;
  border-radius: var(--radius-pill);
  background: rgba(10, 10, 10, 0.72);
  border: 1px solid rgba(255, 92, 0, 0.45);
  font: 700 0.42rem/1.2 var(--font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent);
}

[data-app-variant='marketplace'] .makers-community__showcase-visual{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

[data-app-variant='marketplace'] .makers-community__showcase-image{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  filter: saturate(1.05) contrast(1.04);
}

[data-app-variant='marketplace'] .makers-community__showcase-inline-art{
  width: 100%;
  height: 100%;
  display: block;
}

[data-app-variant='marketplace'] .makers-community__showcase-copy{
  margin-top: 0.28rem;
}

[data-app-variant='marketplace'] .makers-community__showcase-title{
  margin: 0;
  font: 600 0.58rem/1.3 var(--font-sans);
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-app-variant='marketplace'] .makers-community__showcase-tag{
  margin: 0.08rem 0 0;
  font: 700 0.46rem/1.2 var(--font-display);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--accent);
  opacity: 0.9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-app-variant='marketplace'] .makers-card__mascot{
  position: absolute;
  right: 0.85rem;
  bottom: 0.65rem;
  z-index: 1;
  filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.45));
  pointer-events: none;
}

[data-app-variant='marketplace'] .makers-pill{
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: 999px;
  background: var(--makers-ink);
  color: var(--makers-cream);
}

[data-app-variant='marketplace'] .makers-pill__icon{
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  border: 1px solid rgba(229, 229, 216, 0.2);
}

[data-app-variant='marketplace'] .makers-pill__text{
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

[data-app-variant='marketplace'] .makers-pill__title{
  font: 600 0.78rem/1.25 var(--font-display);
}

[data-app-variant='marketplace'] .makers-pill__desc{
  font-size: 0.68rem;
  opacity: 0.72;
  line-height: 1.35;
}

[data-app-variant='marketplace'] .makers-card__label{
  position: relative;
  z-index: 1;
  margin: 0;
  font: 600 0.72rem/1 var(--font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

[data-app-variant='marketplace'] .makers-card__stat{
  position: relative;
  z-index: 1;
  margin: 0.35rem 0 0.75rem;
  font-size: clamp(2.25rem, 4vw, 3rem);
  color: var(--makers-cream);
}

[data-app-variant='marketplace'] .printables-hub-marketplace--full{
  grid-template-columns: minmax(0, 1fr);
}

[data-app-variant='marketplace'] .printables-hub-marketplace--makers{
  grid-template-columns: minmax(16rem, 20.5rem) minmax(0, 1fr);
}

[data-app-variant='marketplace'] .printables-hub-marketplace--makers:has(.makers-hub-sidebar--collapsed){
  grid-template-columns: minmax(4.25rem, 4.25rem) minmax(0, 1fr);
}

[data-app-variant='marketplace'] .printables-hub-marketplace__main{
  padding: clamp(0.65rem, 1.2vw, 0.95rem) clamp(0.65rem, 1.5vw, 1rem);
}

[data-app-variant='marketplace'] .makers-site-footer{
  margin-top: auto;
  padding: 0.65rem var(--landing-gutter);
  border-top: 1px dashed var(--border);
  background: var(--bg);
}

[data-app-variant='marketplace'] .makers-site-footer__inner{
  max-width: var(--landing-max);
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  min-height: 1.75rem;
}

[data-app-variant='marketplace'] .makers-site-footer__start{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

[data-app-variant='marketplace'] .makers-site-footer__tools-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem;
  flex-shrink: 0;
}

[data-app-variant='marketplace'] .makers-site-footer__tools-item a,
[data-app-variant='marketplace'] .makers-site-footer__meta,
[data-app-variant='marketplace'] .makers-site-footer__teacher-link,
[data-app-variant='marketplace'] .makers-site-footer__links a{
  font: 600 0.68rem/1.35 var(--font-display);
  letter-spacing: 0.01em;
}

[data-app-variant='marketplace'] .makers-site-footer__tools-item a{
  color: var(--accent);
  text-decoration: none;
  white-space: nowrap;
}

[data-app-variant='marketplace'] .makers-site-footer__tools-item a:hover{
  text-decoration: underline;
}

[data-app-variant='marketplace'] .makers-site-footer__sep{
  flex-shrink: 0;
  font-size: 0.68rem;
  line-height: 1.35;
  color: var(--muted);
  opacity: 0.55;
}

[data-app-variant='marketplace'] .makers-site-footer__meta{
  margin: 0;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
}

[data-app-variant='marketplace'] .makers-site-footer__teacher-link{
  margin: 0;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

[data-app-variant='marketplace'] .makers-site-footer__teacher-link:hover{
  color: var(--accent);
}

[data-app-variant='marketplace'] .makers-site-footer__links{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

[data-app-variant='marketplace'] .makers-site-footer__links a{
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
}

[data-app-variant='marketplace'] .makers-site-footer__links a:hover{
  color: var(--accent);
}

@media (max-width: 720px){[data-app-variant='marketplace'] .makers-site-footer__inner{
    flex-wrap: wrap;
    row-gap: 0.45rem;
  }[data-app-variant='marketplace'] .makers-site-footer__start{
    flex-wrap: wrap;
    row-gap: 0.35rem;
  }}

@media (max-width: 899px){[data-app-variant='marketplace'] .printables-hub-marketplace__main:has(.makers-landing--splash){
    height: auto;
    min-height: 0;
    overflow-y: visible;
  }[data-app-variant='marketplace'] .printables-hub-marketplace__main:has(.makers-landing--splash) .makers-landing--splash{
    flex: none;
  }[data-app-variant='marketplace'] .makers-bento{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }[data-app-variant='marketplace'] .makers-card--hero{
    grid-row: auto;
    min-height: auto;
    height: auto;
  }[data-app-variant='marketplace'] .makers-landing__splash{
    flex: 0 0 auto;
    min-height: auto;
  }[data-app-variant='marketplace'] .makers-landing--splash .makers-card--stack{
    display: none;
  }[data-app-variant='marketplace'] .makers-landing--splash .makers-bento--duo{
    flex: 0 0 auto;
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    align-items: stretch;
  }[data-app-variant='marketplace'] .makers-landing--splash .makers-card--hero{
    min-height: auto;
    height: auto;
    padding: clamp(1rem, 4vw, 1.35rem);
    padding-bottom: clamp(1rem, 4vw, 1.35rem);
  }[data-app-variant='marketplace'] .makers-landing--splash .makers-card__pixel-headline{
    font-size: clamp(1.65rem, 8.5vw, 2.35rem);
    max-width: 12ch;
  }[data-app-variant='marketplace'] .makers-card__hero-body{
    justify-content: flex-start;
  }[data-app-variant='marketplace'] .makers-card__actions .makers-btn--ghost{
    display: none;
  }[data-app-variant='marketplace'] .makers-card__actions{
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }[data-app-variant='marketplace'] .makers-card__actions .makers-btn:not(.makers-btn--ghost){
    width: 100%;
  }[data-app-variant='marketplace'] .makers-landing--splash .makers-card__bot{
    display: none;
  }[data-app-variant='marketplace'] .makers-audiences__grid-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__inner{
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      'copy'
      'gallery'
      'actions';
    gap: 0.75rem;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__copy{
    grid-area: copy;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__gallery{
    grid-area: gallery;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__actions{
    grid-area: actions;
    flex-direction: row;
    flex-wrap: wrap;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__actions .makers-btn{
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 8.5rem;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__icon{
    display: none;
  }[data-app-variant='marketplace'] .makers-community{
    margin-inline: clamp(0.65rem, 3vw, 1rem);
  }[data-app-variant='marketplace'] .makers-landing{
    padding-inline: clamp(0.65rem, 3vw, 1rem);
  }[data-app-variant='marketplace'] .makers-audiences{
    margin-inline: 0;
  }[data-app-variant='marketplace'] .makers-card__mascot{
    position: relative;
    right: auto;
    bottom: auto;
    display: block;
    margin: 1rem auto 0;
  }[data-app-variant='marketplace'] .printables-hub-marketplace--full{
    grid-template-columns: 1fr;
  }[data-app-variant='marketplace'] .printables-hub-marketplace--makers,
  [data-app-variant='marketplace'] .printables-hub-marketplace--makers:has(.makers-hub-sidebar--collapsed){
    grid-template-columns: minmax(0, 1fr);
  }[data-app-variant='marketplace'] .printables-hub-marketplace--makers .makers-hub-sidebar{
    display: none;
  }}

@media (max-width: 639px){[data-app-variant='marketplace'] .makers-audiences__grid-cards{
    grid-template-columns: 1fr;
  }[data-app-variant='marketplace'] .makers-community__actions{
    flex-direction: column;
  }[data-app-variant='marketplace'] .makers-community--row .makers-community__actions .makers-btn{
    flex: 1 1 auto;
    width: 100%;
  }[data-app-variant='marketplace'] .makers-site-footer{
    padding-inline: clamp(0.85rem, 4vw, 1.25rem);
  }[data-app-variant='marketplace'] .makers-site-footer__inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
  }[data-app-variant='marketplace'] .makers-site-footer__start{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    width: 100%;
  }[data-app-variant='marketplace'] .makers-site-footer__sep{
    display: none;
  }[data-app-variant='marketplace'] .makers-site-footer__tools-list{
    flex-wrap: wrap;
    row-gap: 0.4rem;
    column-gap: 0.85rem;
  }[data-app-variant='marketplace'] .makers-site-footer__tools-item a,
  [data-app-variant='marketplace'] .makers-site-footer__links a{
    font-size: 0.75rem;
    line-height: 1.4;
    padding-block: 0.15rem;
  }[data-app-variant='marketplace'] .makers-site-footer__links{
    flex-wrap: wrap;
    row-gap: 0.35rem;
    column-gap: 0.85rem;
  }}

@media (prefers-reduced-motion: reduce){[data-app-variant='marketplace'] .makers-hero-blob--1,
  [data-app-variant='marketplace'] .makers-hero-blob--2,
  [data-app-variant='marketplace'] .makers-hero-blob--3{
    animation: none;
  }[data-app-variant='marketplace'] .makers-btn,
  [data-app-variant='marketplace'] .makers-generator-card,
  [data-app-variant='marketplace'] .printables-hub-marketplace--full{
    transition: none;
  }}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__actions .makers-btn--cream,
[data-app-variant='marketplace'] .music-panel--dot-studio .tabsheet-panel__actions .makers-btn--cream,
[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__form-actions .makers-btn--cream,
[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__gate-actions .makers-btn--cream{
  background: var(--music-ink);
  color: var(--music-cream);
  border-color: var(--music-ink);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__actions .makers-btn--ghost,
[data-app-variant='marketplace'] .music-panel--dot-studio .tabsheet-panel__actions .makers-btn--ghost,
[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__form-actions .makers-btn--ghost,
[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__gate-actions .makers-btn--ghost{
  background: rgba(255, 255, 255, 0.42);
  border-color: rgba(10, 10, 10, 0.16);
  color: var(--music-ink);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__actions .makers-btn--ghost:hover,
[data-app-variant='marketplace'] .music-panel--dot-studio .tabsheet-panel__actions .makers-btn--ghost:hover,
[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__form-actions .makers-btn--ghost:hover,
[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__gate-actions .makers-btn--ghost:hover{
  background: rgba(10, 10, 10, 0.06);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__editor .makers-btn--ghost{
  background: rgba(255, 255, 255, 0.42);
  border-color: rgba(10, 10, 10, 0.16);
  color: var(--music-ink);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__editor .makers-btn--ghost:hover:not(:disabled){
  background: rgba(10, 10, 10, 0.06);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__playback .makers-btn--cream{
  background: var(--music-ink);
  color: var(--music-cream);
  border-color: var(--music-ink);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__playback .makers-btn--cream:hover:not(:disabled){
  background: #1a1a1a;
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__playback .makers-btn--ghost{
  background: rgba(255, 255, 255, 0.42);
  border-color: rgba(10, 10, 10, 0.16);
  color: var(--music-ink);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__playback .makers-btn--ghost:hover:not(:disabled){
  background: rgba(10, 10, 10, 0.06);
}

[data-app-variant='marketplace'] .music-panel--dot-studio .music-panel__playback .makers-btn:disabled{
  opacity: 0.42;
  cursor: not-allowed;
}

/* Admission landing (from admission-theme.css) */

.admission-hex-logo{
  display: block;
  flex-shrink: 0;
  color: var(--admission-forest);
}

[data-app-variant='admission'] .brand-wordmark--footer .admission-hex-logo{
  height: var(--brand-logo-size-footer);
}

.admission-mkt{
  min-height: 100vh;
  background: var(--admission-cream);
  color: var(--admission-ink);
  font-family: var(--font-sans);
}

