@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik-VariableFont_wght.ttf") format("truetype");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Rubik";
  src: url("/fonts/Rubik-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 300 900;
  font-style: italic;
  font-display: swap;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  font-family: "Space Grotesk", sans-serif;
}

:root {
  --crate-body: #080808;
  --crate-panel: #212121;
  --crate-border: #2d2d2d;
  --crate-behind-image: #000000;

  --font-size-sm: 0.9rem;

  --btn-hover-bg: #eeeeee;
  --btn-hover-color: #000000;

  --bs-modal-header-border-width: 0;
  --bs-modal-header-border-color: transform;

  /* === Brand color palette === */
  /* Original */
  /*
  --color-brand: #26a69a;
  */
  --color-brand-original: #26a69a;
  --color-brand: #1d887e;
  --color-brand-dark: #1e625c;
  --color-brand-light: #26a69a;

  --color-primary: #26a660;              /* Main green background */
  --color-primary-rgb: 38, 166, 96;     /* RGB components for alpha usage */
  --color-primary-dark: #26a69a;         /* Text on orange, dark burnt orange */
  --color-primary-body: #080808;         /* Body background */
  --color-primary-darker: #212121;       /* Darker background */
  --color-primary-light: #ffffff;        /* Lighter accent, for hovers, borders, highlights */
  --color-primary-contrast: #000000;     /* Strong contrast for icons or outlines */
  --color-primary-shadow: #000000;     /* Soft shadow using burnt orange */

  /* === Home page semantic colors (create / generate / explore / upload / steps / features) === */
  --home-color-create: #26a69a;          /* Teal: create, preview, primary actions */
  --home-color-generate: #6366f1;        /* Indigo: generate 3D model */
  --home-color-explore: #0ea5e9;         /* Sky: explore, browse */
  --home-color-upload: #f59e0b;         /* Amber: upload, share */
  --home-color-steps: #26a69a;           /* Teal/green: steps, process (matches primary) */
  --home-color-feature: #8b5cf6;         /* Violet: feature cards accent */

  --uc-3d: #26a69a;         /* teal */
  --uc-character: #6366f1;  /* indigo */
  --uc-object: #0ea5e9;     /* sky */
  --uc-print: #f59e0b;      /* amber */
  --uc-vegetation: #22c55e; /* green */
  --uc-weapons: #ef4444;    /* red */
  --uc-buildings: #6b7280;  /* slate */
  --uc-clothing: #ec4899;   /* pink */
  --uc-other: #4b5563;      /* neutral */


  --as-bg: #0d1117;
  --as-surface: #161b22;
  --as-border: #21262d;
  --as-text: #e6edf3;
  --as-muted: #8b949e;
  --as-accent: #26a69a;
}

.smaller {
  font-size: .6em;
}

.fade:not(.show) {
  display: none;
}

/* Shared sizing for default .btn so primary/secondary/etc. have the same height.
   Size variants (.btn-sm, .btn-lg) and .btn-link get their own sizing below. */
.btn:not(.btn-sm):not(.btn-lg):not(.btn-link),
.btn-primary:not(.btn-sm):not(.btn-lg):not(.btn-link),
.btn-secondary:not(.btn-sm):not(.btn-lg):not(.btn-link),
[class^="btn-"]:not(.btn-sm):not(.btn-lg):not(.btn-link),
[class*=" btn-"]:not(.btn-sm):not(.btn-lg):not(.btn-link) {
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-line-height: 1.5;
  --bs-btn-font-weight: 400;
}

.btn-brand, .btn-brand:hover, .btn-brand:active, .btn-brand:focus,
.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--color-brand);
  --bs-btn-border-color: var(--color-brand-dark);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--color-brand);
  --bs-btn-hover-border-color: var(--color-brand);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--color-brand);
  --bs-btn-active-border-color: var(--color-brand);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: var(--color-brand);
  --bs-btn-disabled-border-color: var(--color-brand);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.btn {
  --bs-btn-border-width: 2px !important;
}

.btn-link {
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 0;
  text-decoration: none;
}
.btn-link:hover {
  text-decoration: none;
}

.btn-sm {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
}

.btn-lg {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-font-size: 1.05rem;
}

.btn .bi {
  float: left;
}

.bi-google {
  /* Animate color: cycle Google blue, green, yellow, red every 500ms */
  /* animation: google-color-rotate 4s linear infinite; */
}

@keyframes google-color-rotate {
  0%   { color: #4285F4; }   /* Blue */
  25%  { color: #34A853; }   /* Green */
  50%  { color: #FBBC05; }   /* Yellow */
  75%  { color: #EA4335; }   /* Red */
  100% { color: #4285F4; }   /* Blue */
}

/* Bootstrap .btn-primary (and other .btn-*) set --bs-btn-* on the class, so they
   override :root. Re-apply our brand variables on the same selectors. */
.btn-primary {
  --bs-btn-color: var(--color-primary-light);
  --bs-btn-bg: var(--color-brand);
  --bs-btn-border-color: var(--color-brand-dark);
  --bs-btn-hover-color: var(--color-primary-light);
  --bs-btn-hover-bg: var(--color-brand-dark);
  --bs-btn-hover-border-color: var(--color-brand-dark);
  --bs-btn-focus-shadow-rgb: var(--color-brand-dark);
  --bs-btn-active-color: var(--color-primary-light);
  --bs-btn-active-bg: var(--color-brand-dark);
  --bs-btn-active-border-color: var(--color-brand-dark);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: var(--color-brand);
  --bs-btn-disabled-border-color: var(--color-brand);
  --bs-btn-border-color: var(--color-brand-dark);
  background: linear-gradient(var(--color-brand), #0e4444);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.btn-brand {
  background: linear-gradient(var(--color-brand), #0e4444);
}

.btn-primary:hover {
  transform: translateY(-1px);
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-outline-primary {
  --bs-btn-color: var(--color-brand-light);
  --bs-btn-border-color: var(--color-brand);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--color-brand);
  --bs-btn-hover-border-color: var(--color-brand);
  --bs-btn-focus-shadow-rgb: var(--color-brand);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--color-brand);
  --bs-btn-active-border-color: var(--color-brand);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--color-brand);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--color-brand);
  --gradient: none;
}
.btn-outline-primary:hover, .btn-outline-primary:active {
  background: linear-gradient(var(--color-brand), #0e4444);
  border-color: var(--color-brand-dark) !important;
  color: white !important;
}

.btn-outline-light {
  --bs-btn-color: #e0e0e0;
  --bs-btn-border-color: rgba(255, 255, 255, 0.18);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgba(255, 255, 255, 0.08);
  --bs-btn-hover-border-color: rgba(255, 255, 255, 0.3);
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgba(255, 255, 255, 0.12);
  --bs-btn-active-border-color: rgba(255, 255, 255, 0.35);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #666;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: rgba(255, 255, 255, 0.08);
  --gradient: none;
}

.btn-secondary {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: #11151b;
  --bs-btn-border-color: #2b313c;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: #11151b;
  --bs-btn-hover-border-color: #3d4552;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: #11151b;
  --bs-btn-active-border-color: #3d4552;
  --bs-btn-disabled-color: #9fb0c5;
  --bs-btn-disabled-bg: #11151b;
  --bs-btn-disabled-border-color: #2b313c;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.btn:hover {
  background: linear-gradient(#999, #fff);
  color: #000 !important;
  border-color: #999;
  transform: translateY(-1px);
}

.btn-secondary:active {
  transform: translateY(0);
}

.bg-dark {
  background: var(--color-primary-darker);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Rubik", sans-serif;
  line-height: 1.5;
  background: var(--color-primary-body);
  color: #e9edf3;
}

.site-header {
  background: #080808;
}

.navbar {
  padding: 1rem 0;
  z-index: 1000;
}

/* Pull a hero section up behind the navbar so background/gradients bleed edge-to-edge.
   Requires --site-header-h to be set (see header.ejs inline script). */
.hero-under-nav {
  margin-top: calc(-1 * var(--site-header-h, 0px));
  padding-top: var(--site-header-h, 0px);
}

.layout-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
}

.layout-wrapper main {
  flex: 1;
  width: 100%;
}

a:not(.btn) {
  color: #fff;
}

a:not(.btn):not(.home-use-case-v99--linked):hover {
  color: var(--color-brand);
  text-decoration: none;
}


.small-page {
  max-width: 640px;
  margin: 0 auto;
}

.site-nav .container {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.site-nav .nav-link,
.site-nav .nav-link:visited,
.site-nav .nav-link:focus {
  text-decoration: none;
  padding: 0.35rem 0.55rem;
  font-size: 0.8rem;
  font-weight: 500;
  background: transparent;
  border: none;
  cursor: pointer;
}

.site-nav .nav-link.nav-icon {
  font-size: 1.1rem;
}

.dropdown-item {
  background-color: transparent !important;
}

.site-nav .dropdown-toggle::after {
  margin-left: 0.35rem;
}

/* ── Tools mega-menu ────────────────────────────────────────────── */
.nav-tools-mega {
  min-width: 420px;
  padding: 0.75rem;
  border-radius: 12px;
  background: #11151b;
  border: 1px solid #2b313c;
}

.nav-tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

.nav-tool-item small {
  font-size: 0.6;
}

.nav-tool-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.4rem;
  border-radius: 8px;
  text-decoration: none !important;
  color: #ccc;
  transition: background 0.15s ease, transform 0.15s ease;
}

.nav-tool-item:hover,
.nav-tool-item:focus {
  background: rgba(38, 166, 154, 0.12);
  color: #fff !important;
  transform: translateY(-1px);
}

.nav-tool-img {
  width: 48px;
  height: 36px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}

.nav-tool-title {
  font-size: 0.7rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}

.nav-tools-footer {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #2b313c;
  text-align: center;
}

.nav-tools-view-all {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-brand, #26a69a) !important;
  text-decoration: none !important;
}

.nav-tools-view-all:hover {
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .nav-tools-mega {
    min-width: 0;
    width: 100%;
  }

  .nav-tools-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.site-nav .nav-toggle {
  padding: 0.25rem 0.4rem;
  border: none;
}

.site-nav .nav-toggle:focus {
  box-shadow: none;
}

.site-nav-left,
.site-nav-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.site-nav-right {
  margin-left: auto;
}

/* Consistent height/line-height for right-nav items (Upload, Tokens, Notifications, avatar) to match .btn-sm */
.site-nav .site-nav-right .site-nav-right-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  box-sizing: border-box;
}

.site-nav .site-nav-right .site-nav-right-item .bi {
  flex-shrink: 0;
  font-size: 1rem;
}

.chat-notification-label {
  margin-left: 0.15rem;
}

.avatar-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.avatar-thumb {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-weight: 500;
  color: #fff;
  font-size: 0.85rem;
  text-decoration: none;
}

.brand:hover {
  text-decoration: none;
}

.brand img {
  height: 32px;
  object-fit: contain;
  transition: transform 0.2s ease-in-out;
}

.brand img:hover {
  transform: scale(1.2);
}

/* Mobile: fullscreen menu, 2-col grid, dropdowns stay collapsed until tapped; menu fits in viewport */
@media (max-width: 767px) {
  .site-nav .navbar-collapse.nav-fullscreen-menu.show {
    position: fixed;
    inset: 0;
    z-index: 1050;
    height: 100vh !important;
    min-height: 100vh;
    overflow: auto;
    background: var(--color-primary-darker, #212121);
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    align-content: start;
    padding: 1rem;
    margin: 0;
    width: 100vw;
    max-width: 100vw;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .nav-fullscreen-close {
    grid-column: 2;
    justify-self: end;
  }

  /* Only left/right participate in grid so dropdowns and links are grid cells */
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .site-nav-left,
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .site-nav-right {
    display: contents;
  }

  /* Dropdown: one grid cell; menu in flow below toggle, fits in viewport */
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown {
    min-width: 0;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-menu {
    position: static !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0.25rem 0 0 !important;
    padding: 0.25rem 0 !important;
    max-height: min(60vh, 400px);
    overflow-y: auto;
    overflow-x: hidden;
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid #2b313c !important;
    border-radius: 10px;
    box-shadow: none !important;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-menu .dropdown-divider {
    margin: 0.25rem 0;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .nav-tools-dropdown {
    grid-column: 1 / -1;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .nav-tools-mega {
    padding: 0.5rem;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .chat-notification-list {
    grid-column: 1 / -1;
  }

  /* Toggles and standalone links: btn-secondary btn-sm style */
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .nav-link,
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-toggle {
    display: block !important;
    width: 100%;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    text-align: left;
    text-decoration: none;
    color: #ffffff;
    background: #11151b;
    border: 2px solid #2b313c;
    border-radius: 10px;
    box-sizing: border-box;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .nav-link:hover,
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-toggle:hover {
    border-color: var(--color-primary);
    transform: translateY(-1px);
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-toggle::after {
    float: right;
    margin-top: 0.25rem;
  }

  /* Dropdown items: same button look, fit in menu */
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-item {
    display: block !important;
    width: 100%;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    text-align: left;
    text-decoration: none;
    color: #ffffff;
    background: transparent;
    border: none;
    border-radius: 8px;
    box-sizing: border-box;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-item:hover {
    background: rgba(38, 166, 154, 0.2);
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-menu .btn,
  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-menu a:not(.dropdown-item) {
    width: 100%;
    text-align: left;
    margin-top: 0.25rem;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-menu form {
    display: block;
    padding: 0.25rem 0.5rem;
  }

  .site-nav .navbar-collapse.nav-fullscreen-menu.show .dropdown-menu form button[type="submit"] {
    display: block;
    width: 100%;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    text-align: left;
    color: #ffffff;
    background: #11151b;
    border: 2px solid #2b313c;
    border-radius: 10px;
    cursor: pointer;
  }
}

@media (max-width: 767px) {
  .site-nav-left,
  .site-nav-right {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 0.5rem 0;
  }

  .site-nav .nav-link {
    padding-left: 0;
  }
}

.site-footer .footer-brand {
  font-weight: 600;
  margin-bottom: 0.5rem;
}


.spinner-grow-tiny {
  --bs-spinner-width: .5rem;
  --bs-spinner-height: .5rem;
}


.text-gradient-primary {
  background: linear-gradient(90deg, #12ffa6 0%, #1c857c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.bg-glow-wrapper {
  position: relative;
  z-index: 1;
}

.bg-glow-orb {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(38,166,154,0.15) 0%, rgba(99,102,241,0.15) 40%, rgba(0,0,0,0) 70%);
  filter: blur(40px);
  z-index: -1;
  pointer-events: none;
}

.home-page .home-hero {
  margin-bottom: 2rem;
  padding: 5rem 0;
  background: linear-gradient(90deg,rgb(24, 24, 24) 0%, rgb(34, 73, 77) 35%, rgb(106, 255, 157) 100%);
}

.home-page .home-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  align-items: center;
  gap: 2rem;
}

.home-page .home-hero-copy h1 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.05;
  margin-bottom: 1rem;
}

.home-page .home-hero-copy p {
  color: rgba(245, 250, 255, 0.9);
  margin-bottom: 1.25rem;
  font-size: 1.05rem;
  max-width: 56ch;
}

.home-page .home-hero-search .input-group-text {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(13, 25, 32, 0.75);
  color: #e9edf3;
}

.home-page .home-hero-search .form-control {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(13, 25, 32, 0.75);
  color: #fff;
}

.home-page .home-hero-search .form-control::placeholder {
  color: rgba(233, 237, 243, 0.8);
}

.home-page .home-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.8rem;
}

.home-page .home-hero-art {
  display: flex;
  justify-content: center;
}

.home-page .home-hero-art img {
  width: min(100%, 420px);
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.35));
}

/* Home hero section (top-of-page hero with CTAs) */
.home-hero-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
  margin-bottom: 2rem;
}

.home-hero-section .home-hero-title {
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 1rem;
}

.home-hero-section .home-hero-sub {
  font-size: 0.95rem;
  max-width: 40em;
  margin-bottom: 2rem;
}

.home-hero-image-section {
  text-align: center;
}

.home-hero-image-section__img {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  border-radius: 12px;
  object-fit: contain;
}

.home-hero-cta {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  border: 2px solid transparent;
  text-decoration: none !important;
  color: inherit;
  text-align: left;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  min-width: 0;
  height: 100%;
}

.home-hero-cta:hover,
.home-hero-cta:focus {
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  color: inherit !important;
}

.home-hero-cta .bi {
  font-size: 1.5rem;
  flex-shrink: 0;
  display: none;
}

.home-hero-cta span {
  line-height: 1.4;
}

.home-hero-cta small {
  display: block;
  margin-top: 0.2rem;
  opacity: 0.85;
  font-size: 0.8rem;
}

.home-hero-cta--tool {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.7rem;
}

.home-hero-cta__media {
  width: 100%;
  height: 60px;
  max-height: 60px;
  margin-left: auto;
  margin-right: auto;
  background-position: left;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 0.5rem;
}

.home-hero-cta__content {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.home-hero-cta__icon {
  flex-shrink: 0;
}

.home-hero-cta__text {
  line-height: 1.4;
}

.home-hero-cta--preview {
  --home-hero-cta-preview-text: #6ee7de;
  background: color-mix(in srgb, var(--home-color-create) 14%, transparent);
  border-color: color-mix(in srgb, var(--home-color-create) 45%, transparent);
  color: var(--home-hero-cta-preview-text);
}

.home-hero-cta--preview:hover {
  border-color: var(--home-color-create);
  background: color-mix(in srgb, var(--home-color-create) 22%, transparent);
  color: var(--home-hero-cta-preview-text);
}

.home-hero-cta--model {
  background: color-mix(in srgb, var(--home-color-generate) 14%, transparent);
  border-color: color-mix(in srgb, var(--home-color-generate) 45%, transparent);
  color: #a5b4fc;
}

.home-hero-cta--model:hover {
  border-color: var(--home-color-generate);
  background: color-mix(in srgb, var(--home-color-generate) 22%, transparent);
}

.home-hero-cta--explore {
  background: color-mix(in srgb, var(--home-color-explore) 14%, transparent);
  border-color: color-mix(in srgb, var(--home-color-explore) 45%, transparent);
  color: #7dd3fc;
}

.home-hero-cta--explore:hover {
  border-color: var(--home-color-explore);
  background: color-mix(in srgb, var(--home-color-explore) 22%, transparent);
}

.home-hero-cta--upload {
  background: color-mix(in srgb, var(--home-color-upload) 14%, transparent);
  border-color: color-mix(in srgb, var(--home-color-upload) 45%, transparent);
  color: #fcd34d;
}

.home-hero-cta--upload:hover {
  border-color: var(--home-color-upload);
  background: color-mix(in srgb, var(--home-color-upload) 22%, transparent);
}

.home-hero-cta--upsell {
  --home-hero-cta-upsell-text: #fbbf24;
  --home-hero-cta-upsell-bg: color-mix(in srgb, #ca8a04 16%, transparent);
  --home-hero-cta-upsell-border: color-mix(in srgb, #ca8a04 50%, transparent);
  background: var(--home-hero-cta-upsell-bg);
  border-color: var(--home-hero-cta-upsell-border);
  color: var(--home-hero-cta-upsell-text);
}

.home-hero-cta--upsell:hover {
  border-color: #ca8a04;
  background: color-mix(in srgb, #ca8a04 24%, transparent);
  color: var(--home-hero-cta-upsell-text);
}

.home-hero-cta--disabled {
  opacity: 0.6;
  filter: grayscale(0.7);
  pointer-events: none;
  cursor: not-allowed;
}

.home-hero-cta--disabled:hover {
  transform: none;
  box-shadow: none;
}

/* Use cases – card strip with accent and hover */
.home-use-cases-section {
  margin-bottom: 2rem;
}

.home-use-cases-title {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--home-color-steps);
  text-align: center;
  margin-bottom: 1.5rem;
}

.home-use-cases-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.home-use-case-card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(38, 166, 154, 0.06) 0%, rgba(43, 49, 60, 0.4) 100%);
  border: 1px solid rgba(43, 49, 60, 0.8);
  text-decoration: none !important;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.home-use-case-card:hover {
  text-decoration: none !important;
  border-color: var(--home-color-steps);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}

.home-use-case-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.home-use-case-card--game .home-use-case-card__icon {
  background: color-mix(in srgb, var(--home-color-create) 20%, transparent);
  color: var(--home-color-create);
}

.home-use-case-card--browse .home-use-case-card__icon {
  background: color-mix(in srgb, var(--home-color-explore) 20%, transparent);
  color: var(--home-color-explore);
}

.home-use-case-card__heading {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.home-use-case-card__text {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  margin-bottom: 1rem;
  flex-grow: 1;
  line-height: 1.45;
}

.home-use-case-card__action {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-brand);
}


@media (max-width: 767px) {
  .home-use-cases-grid {
    grid-template-columns: 1fr;
  }
}

/* Steps – game-ready pipeline */
.home-steps-section {
  padding: 2rem 0;
}

.home-steps-section__title {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 0.5rem;
}

.home-steps-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 0 auto 2.5rem;
  max-width: 100%;
}

.home-steps-feature {
  font-size: 0.9rem;
  color: var(--bs-secondary-color);
  line-height: 1.4;
  text-align: center;
}

.home-steps-feature__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  background: color-mix(in srgb, var(--home-color-steps) 18%, transparent);
  color: var(--home-color-steps);
  font-size: 1rem;
  flex-shrink: 0;
  margin-bottom: 1rem;
  text-align: center;
}

.home-steps-feature__text {
  margin: 0;
  display: block;
  max-width: 300px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .home-steps-features {
    grid-template-columns: 1fr;
  }
}

.home-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
}

.home-steps::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 16.666%;
  right: 16.666%;
  height: 4px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--home-color-steps) 50%, transparent), color-mix(in srgb, var(--home-color-steps) 50%, transparent), transparent);
  z-index: 0;
}

.home-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1rem;
}

.home-step__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--home-color-steps) 0%, #1e8a82 100%);
  color: #fff;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 14px rgba(38, 166, 154, 0.35);
}

.home-step__body {
  max-width: 20em;
}

.home-step__heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.home-step__list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
  line-height: 1.55;
}

.home-step__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
  text-align: left;;
}

.home-step__list li:last-child {
  margin-bottom: 0;
}

.home-step__list li::before {
  content: "·";
  flex-shrink: 0;
  color: var(--home-color-steps);
  font-weight: 700;
}

@media (max-width: 991px) {
  .home-steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .home-steps::before {
    display: none;
  }

  .home-step {
    flex-direction: row;
    text-align: left;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .home-step__icon {
    flex-shrink: 0;
    margin-bottom: 0;
  }
}

/* Features section */
.home-features-section__title {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--home-color-steps);
  text-align: center;
  margin-bottom: 1.5rem;
}

.home-features-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.home-feature-card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border-radius: 12px;
  border: 1px solid rgba(43, 49, 60, 0.7);
  text-decoration: none !important;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.home-feature-card--create {
  background: linear-gradient(145deg, color-mix(in srgb, var(--home-color-create) 8%, transparent) 0%, rgba(43, 49, 60, 0.25) 100%);
}

.home-feature-card--create:hover {
  border-color: color-mix(in srgb, var(--home-color-create) 50%, transparent);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.home-feature-card--generate {
  background: linear-gradient(145deg, color-mix(in srgb, var(--home-color-generate) 8%, transparent) 0%, rgba(43, 49, 60, 0.25) 100%);
}

.home-feature-card--generate:hover {
  border-color: color-mix(in srgb, var(--home-color-generate) 50%, transparent);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.home-feature-card--explore {
  background: linear-gradient(145deg, color-mix(in srgb, var(--home-color-explore) 8%, transparent) 0%, rgba(43, 49, 60, 0.25) 100%);
}

.home-feature-card--explore:hover {
  border-color: color-mix(in srgb, var(--home-color-explore) 50%, transparent);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.home-feature-card:hover {
  text-decoration: none !important;
  transform: translateY(-2px);
}

.home-feature-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.home-feature-card--create .home-feature-card__icon {
  background: color-mix(in srgb, var(--home-color-create) 18%, transparent);
  color: var(--home-color-create);
}

.home-feature-card--generate .home-feature-card__icon {
  background: color-mix(in srgb, var(--home-color-generate) 18%, transparent);
  color: var(--home-color-generate);
}

.home-feature-card--explore .home-feature-card__icon {
  background: color-mix(in srgb, var(--home-color-explore) 18%, transparent);
  color: var(--home-color-explore);
}

.home-feature-card__heading {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.home-feature-card__text {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  line-height: 1.45;
  margin: 0;
}

@media (max-width: 991px) {
  .home-features-section__grid {
    grid-template-columns: 1fr;
  }
}

/* Value props section */
.home-value-props-section .row {
  --bs-gutter-x: 2rem;
}

.home-value-props-section .col-12{
  margin-top: 0.5rem;
}

.home-value-prop {
  text-align: center;
}

.home-value-prop__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--home-color-create) 14%, transparent);
  color: var(--home-color-create);
  font-size: 1.25rem;
}

.home-value-prop__heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

.home-value-prop__text {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  line-height: 1.5;
  margin: 0;
}

/* Showcase section (Latest Assets, Top Collections) */
.home-showcase-section__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.home-showcase-section__title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}

.home-showcase-section__badge {
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--bs-secondary-color);
}

/* Home banner (sign-up offer above use cases) */
.home-banner-section {
  display: flex;
  justify-content: center;
  padding: 0;
}

.home-banner-section__inner {
  max-width: 380px;
  width: 100%;
  text-align: center;
  padding: 1.25rem 1.25rem;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(38, 166, 154, 0.22) 0%, rgba(38, 166, 154, 0.1) 50%, rgba(38, 166, 154, 0.06) 100%);
  border: 1px solid rgba(38, 166, 154, 0.55);
}

.home-banner-section__title {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 0 0.5rem;
  color: #99f6e4;
}

.home-banner-section__text {
  font-size: 0.9rem;
  color: #b8e6e0;
  margin: 0 0 1rem;
  line-height: 1.5;
}

.home-banner-section__text strong {
  color: #ccfbf1;
  font-weight: 600;
}

.home-banner-section__btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: #0f172a;
  background: #2dd4bf;
  border: 1px solid #14b8a6;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.home-banner-section__btn:hover {
  color: #0f172a;
  background: #5eead4;
  border-color: #2dd4bf;
}

/* Pricing strip section */
.home-pricing-strip-section {
  text-align: center;
  padding: 2rem 1rem;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(38, 166, 154, 0.06) 0%, rgba(43, 49, 60, 0.2) 100%);
  border: 1px solid rgba(43, 49, 60, 0.6);
}

.home-pricing-strip-section__title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.home-pricing-strip-section__text {
  font-size: 0.9rem;
  color: var(--bs-secondary-color);
  margin-bottom: 1.25rem;
}

/* Final CTA section */
.home-final-cta-section {
  text-align: center;
  padding: 1.5rem 0;
}

.home-final-cta-section__text {
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

/* ========================================
   V99 Landing Page Styles - Apple-Inspired Minimalism
   ======================================== */

/* Hero V99 - Compact hero with side-by-side layout */
.home-hero-v99 {
  display: flex;
  align-items: center;
  padding: 3rem 0;
}

.home-hero-v99__container {
  display: grid;
  grid-template-columns: 45fr 55fr;
  gap: 4rem;
  align-items: center;
}

.home-hero-v99__content {
  display: flex;
  flex-direction: column;
}

.home-hero-v99__headline {
  font-size: clamp(3rem, 8vw, 4rem);
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  letter-spacing: -0.02em;
}

.home-hero-v99__subheadline {
  font-size: 1.25rem;
  color: #9ca3af;
  margin-bottom: 1rem;
  line-height: 1.6;
}

.home-hero-v99__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.home-hero-v99__cta-primary {
  display: inline-block;
  padding: 1rem 2.5rem;
  font-size: 1.125rem;
  border-radius: 10px;
  text-decoration: none;
  transition: transform 0.2s ease;
  font-weight: 500;
}

.home-hero-v99__cta-primary:hover {
  transform: translateY(-2px);
}

.home-hero-v99__cta-secondary {
  display: inline-block;
  margin-left: 1rem;
  color: #9ca3af;
  text-decoration: none;
  font-size: 1rem;
  transition: color 0.2s ease;
}

.home-hero-v99__image-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-hero-v99__image {
  max-height: 400px;
  width: 100%;
  object-fit: contain;
}

/* Journey V99 - Side-by-side transformation */
.home-journey-v99 {
  padding: 4rem 0;
  text-align: center;
}

.home-journey-v99__title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600;
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
}

/* Asset Studio spotlight - above Journey */
.home-asset-studio-spotlight__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  text-align: center;
  letter-spacing: -0.02em;
}

.home-asset-studio-spotlight__image {
  width: 100%;
  aspect-ratio: 1576 / 678;
  object-fit: contain;
}

.home-journey-v99__subtitle {
  font-size: 1.125rem;
  color: #9ca3af;
  margin-bottom: 3rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.home-journey-v99__visual {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 2rem;
}

.home-journey-v99__step {
  background: var(--color-primary-darker);
  border: 2px solid #2d2d2d;
  border-radius: 14px;
  padding: 2rem;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.home-journey-v99__step:hover {
  transform: translateY(-2px);
}

.home-journey-v99__step--create {
  border-color: color-mix(in srgb, var(--home-color-create) 35%, transparent);
}

.home-journey-v99__step--generate {
  border-color: color-mix(in srgb, var(--home-color-generate) 35%, transparent);
}

.home-journey-v99__step-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-journey-v99__step-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 1.125rem;
  margin-top: 1rem;
}

.home-journey-v99__step--create .home-journey-v99__step-label {
  color: var(--home-color-create);
}

.home-journey-v99__step--generate .home-journey-v99__step-label {
  color: var(--home-color-generate);
}

.home-journey-v99__divider {
  font-size: 3rem;
  color: #9ca3af;
}

.home-journey-v99__support-text {
  font-size: 0.95rem;
  color: #9ca3af;
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-weight: 400;
}

.home-journey-v99__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
}

.home-journey-v99__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: color-mix(in srgb, var(--home-color-explore) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--home-color-explore) 35%, transparent);
  border-radius: 999px;
  color: #7dd3fc;
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.2s ease;
}

.home-journey-v99__badge:hover {
  background: color-mix(in srgb, var(--home-color-explore) 22%, transparent);
  border-color: color-mix(in srgb, var(--home-color-explore) 50%, transparent);
  color: #7dd3fc;
  transform: translateY(-2px);
}

/* Features V99 - 3-card asset creator tools */
.home-features-v99 {
  padding: 4rem 0;
}

.home-features-v99__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  text-align: center;
  margin-bottom: 3rem;
  letter-spacing: -0.02em;
}

.home-features-v99__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.home-feature-v99 {
  --_accent: var(--home-color-create);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  border-radius: 14px;
  border: 2px solid color-mix(in srgb, var(--_accent) 18%, transparent);
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--_accent) 6%, var(--color-primary-darker)) 0%,
    var(--color-primary-darker) 100%
  );
  text-decoration: none;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.home-feature-v99:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--_accent) 40%, transparent);
  box-shadow: 0 6px 24px color-mix(in srgb, var(--_accent) 12%, transparent);
}

.home-feature-v99--create  { --_accent: var(--home-color-create); }
.home-feature-v99--generate { --_accent: var(--home-color-generate); }
.home-feature-v99--explore  { --_accent: var(--home-color-explore); }

.home-feature-v99__icon {
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 10px;
  color: var(--_accent);
  background: color-mix(in srgb, var(--_accent) 14%, transparent);
}

.home-feature-v99__heading {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.home-feature-v99__text {
  font-size: 0.95rem;
  color: #9ca3af;
  line-height: 1.6;
  flex: 1;
  margin: 0;
}

.home-feature-v99__cta {
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--_accent);
  transition: opacity 0.2s ease;
}

.home-feature-v99__cta:hover {
  opacity: 0.75;
}

/* Value Props V99 - 6-item grid */
.home-value-props-v99 {
  padding: 4rem 0;
}

.home-value-prop-v99 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
}

.home-value-prop-v99__icon {
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin: 0 auto;
  padding: 1.5rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--home-color-create) 14%, transparent);
  color: var(--home-color-create);
}

.home-value-prop-v99__heading {
  font-size: 1.05rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.home-value-prop-v99__text {
  font-size: 0.9rem;
  color: #9ca3af;
  line-height: 1.5;
  margin: 0;
}

/* Use Cases V99 - 4-item grid with image placeholders */
.home-use-cases-v99 {
  padding: 4rem 0;
}

.home-use-cases-v99__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  text-align: center;
  margin-bottom: 3rem;
  letter-spacing: -0.02em;
}

.home-use-cases-v99__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.home-use-case-v99 {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
  background: var(--color-primary-darker);
  border: 2px solid #2d2d2d;
  border-radius: 14px;
  transition: all 0.2s ease;
}

.home-use-case-v99:hover {
  border-color: color-mix(in srgb, var(--home-color-create) 40%, transparent);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.home-use-case-v99__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
}

.home-use-case-v99__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 10%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 10%, transparent) 100%
  );
  border: 1px solid #2d2d2d;
  font-size: 4rem;
  color: #4d4d4d;
}

.home-use-case-v99__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.home-use-case-v99__heading {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.home-use-case-v99__text {
  font-size: 0.95rem;
  color: #9ca3af;
  line-height: 1.6;
  margin: 0;
}

/* Explore V99 - Consolidated showcase with tabs */
.home-explore-v99 {
  padding: 4rem 0;
}

.home-explore-v99__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.home-explore-v99__tabs {
  display: flex;
  gap: 0.5rem;
  border: 1px solid #2d2d2d;
  border-radius: 10px;
  padding: 0.25rem;
  background: var(--color-primary-darker);
}

.home-explore-v99__tab {
  padding: 0.5rem 1.5rem;
  background: transparent;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.2s ease;
  font-size: 0.95rem;
  font-weight: 500;
}

.home-explore-v99__tab--active {
  background: var(--color-brand);
  color: white;
}

.home-explore-v99__tab:hover:not(.home-explore-v99__tab--active) {
  color: white;
  background: rgba(255, 255, 255, 0.05);
}

.home-explore-v99__content {
  position: relative;
}

.home-explore-v99__panel {
  display: none;
}

.home-explore-v99__panel--active {
  display: block;
}

/* Final CTA V99 - Centered block with premium feel */
.home-final-cta-v99 {
  padding: 4rem 0;
  text-align: center;
}

.home-final-cta-v99__inner {
  max-width: 650px;
  margin: 0 auto;
}

.home-final-cta-v99__headline {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600;
  margin-bottom: 1.5rem;
  letter-spacing: -0.02em;
}

.home-final-cta-v99__subtext {
  font-size: 1.125rem;
  color: #d1d5db;
  margin-bottom: 0.75rem;
  font-weight: 500;
}

.home-final-cta-v99__subtext-muted {
  font-size: 1rem;
  color: #9ca3af;
  margin-bottom: 2.5rem;
}

.home-final-cta-v99__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

/* Enhanced asset cards for V99 */
.home-explore-v99 .asset-card {
  border-radius: 14px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.home-explore-v99 .asset-card:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.home-explore-v99 .asset-card-thumb img,
.home-explore-v99 .asset-card-thumb-empty {
  height: 200px;
}

/* Compact sign-up banner for V99 */
.home-banner-section--compact {
  padding: 1rem;
  text-align: center;
  margin-bottom: 0;
  background: linear-gradient(145deg, rgba(38, 166, 154, 0.12) 0%, rgba(38, 166, 154, 0.06) 100%);
}

.home-banner-section--compact .home-banner-section__inner {
  max-width: 100%;
  padding: 0.5rem;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.home-banner-section--compact .home-banner-section__title {
  font-size: 0.95rem;
  margin-bottom: 0;
  color: #d1d5db;
}

/* Mobile responsive for V99 */
@media (max-width: 991px) {
  .home-hero-v99 {
    padding: 2rem 0;
  }

  .home-hero-v99__container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .home-hero-v99__image-container {
    order: -1;
  }

  .home-hero-v99__image {
    max-height: 300px;
  }

  .home-journey-v99 {
    padding: 3rem 0;
  }

  .home-journey-v99__visual {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .home-journey-v99__divider {
    transform: rotate(90deg);
  }

  .home-features-v99,
  .home-value-props-v99,
  .home-use-cases-v99 {
    padding: 3rem 0;
  }

  .home-features-v99__grid {
    grid-template-columns: 1fr;
  }

  .home-use-cases-v99__grid {
    grid-template-columns: 1fr;
  }

  .home-explore-v99 {
    padding: 3rem 0;
  }

  .home-explore-v99__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .home-final-cta-v99 {
    padding: 3rem 0;
  }
}

@media (max-width: 767px) {
  .home-hero-v99 {
    padding: 1.5rem 0;
  }

  .home-hero-v99__headline {
    font-size: 2.25rem;
  }

  .home-hero-v99__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero-v99__cta-primary {
    text-align: center;
  }

  .home-hero-v99__cta-secondary {
    margin-left: 0;
    text-align: center;
    margin-top: 0.5rem;
  }

  .home-journey-v99 {
    padding: 2rem 0;
  }

  .home-journey-v99__step {
    min-height: 220px;
    padding: 1.5rem;
  }

  .home-features-v99,
  .home-value-props-v99,
  .home-use-cases-v99 {
    padding: 2rem 0;
  }

  .home-explore-v99 {
    padding: 2rem 0;
  }

  .home-explore-v99__tabs {
    width: 100%;
  }

  .home-explore-v99__tab {
    flex: 1;
    padding: 0.5rem 1rem;
  }

  .home-final-cta-v99 {
    padding: 2rem 0;
  }
}

.search-tabs {
  display: inline-flex;
  gap: 0.5rem;
}

.site-footer .footer-links {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.panel-card {
  background: var(--color-primary-darker);
  border: 1px solid #2b313c;
  border-radius: var(--bs-border-radius) !important;
}

.viewer-canvas {
  width: 100%;
  height: 420px;
  border: 1px solid #2b313c;
  border-radius: 8px;
  overflow: hidden;
  background: #11151b;
}


h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600;
}

.auth-page {
  max-width: 520px;
}

.auth-meta {
  margin-top: 1rem;
  color: #b5bfcc;
}

.mock-grid {
  margin-top: 1rem;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.mock-grid article {
  border: 1px solid #2b313c;
  border-radius: 10px;
  padding: 0.9rem;
  background: #10141b;
}

.upload-wizard-page {
  max-width: 980px;
}

.autosave-status {
  font-size: 0.9rem;
  color: #9fd3ac;
}

.wizard-stepper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.5rem;
}

.wizard-step {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  text-decoration: none;
  border: 1px solid #2b313c;
  border-radius: 10px;
  padding: 0.6rem;
}

.wizard-step-index {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2b313c;
  font-size: 0.8rem;
}

.wizard-step-current {
  border-color: #4ea1ff;
  background: #142033;
}

.wizard-step-done {
  border-color: #33a56f;
}

.wizard-step-todo {
  opacity: 0.8;
}

.wizard-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
}

.wizard-choice {
  border: 1px solid #2b313c;
  border-radius: 10px;
  padding: 0.9rem;
  background: #10141b;
  cursor: pointer;
}

.wizard-choice.active,
.wizard-choice:has(input:checked) {
  border-color: #4ea1ff;
  background: #152339;
}

.wizard-choice input {
  margin-right: 0.45rem;
}

.wizard-nav {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.wizard-nav .btn {
  min-width: 120px;
}

.required-mark {
  color: #ff5d5d;
  font-weight: 700;
}

.upload-dropzone {
  border: 1px dashed #34506f;
  border-radius: 10px;
  padding: 0.95rem;
  background: #111823;
}

.upload-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #2b313c;
  border-radius: 8px;
  padding: 0.5rem 0.7rem;
  margin-bottom: 0.4rem;
}

.upload-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.upload-gallery figure {
  position: relative;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(8, 11, 15, 0.6);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  max-width: 110px;
  max-height: 110px;
}

.upload-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid #2b313c;
}

.upload-gallery-actions {
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  flex-wrap: wrap;
}

.upload-item.is-deleted {
  opacity: 0.6;
  border-color: rgba(220, 53, 69, 0.5);
}

.upload-item.is-deleted::after {
  content: "Removed";
  margin-left: 0.5rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
}

.upload-gallery-item.is-deleted {
  opacity: 0.5;
  filter: grayscale(1);
}

.upload-gallery-item.is-deleted::after {
  content: "Removed";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(0, 0, 0, 0.6);
}

.floating-alerts {
  position: fixed;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: min(420px, calc(100vw - 48px));
  z-index: 1080;
  pointer-events: none;
}

.floating-alert {
  pointer-events: auto;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(6px);
}

.floating-alert__content {
  padding-right: 2.5rem;
  word-break: break-word;
}

@media (max-width: 640px) {
  .floating-alerts {
    right: 16px;
    left: 16px;
    bottom: 16px;
    width: auto;
  }
}

.asset-card {
  background: var(--color-primary-darker);
  height: 100%;
  border: 2px solid #2d2d2d;
  border-radius: 10px;
}

.asset-card a {
  text-decoration: none;
}

.asset-card:hover {
  border-color: #4d4d4d;
}

.asset-card-thumb img,
.asset-card-thumb-empty {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
  background: #000;
}

.icon-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
}

.asset-meta-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.icon-text-link-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
  background: #111823;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e2e8f0;
  font-size: 0.75rem;
}

.icon-text-link-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.icon-text-link-text {
  color: inherit;
  text-decoration: none;
  font-weight: 500;
}

.icon-text-link-card {
  position: absolute;
  left: 0;
  top: 32px;
  min-width: 220px;
  background: rgba(10, 14, 18, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  font-size: 0.78rem;
  color: #f1f5f9;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 10;
}

.icon-text-link-icon:hover + .icon-text-link-text + .icon-text-link-card,
.icon-text-link-icon:focus + .icon-text-link-text + .icon-text-link-card,
.icon-text-link:hover .icon-text-link-card {
  opacity: 1;
  transform: translateY(0);
}

.icon-text-link-card-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.icon-text-link-card-avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  overflow: hidden;
  background: #111823;
}

.icon-text-link-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.icon-text-link-card-info {
  min-width: 0;
}

.icon-text-link-card-title {
  font-weight: 600;
  margin-bottom: 0.1rem;
}

.icon-text-link-card-meta {
  color: rgba(226, 232, 240, 0.7);
}

.icon-text-link-card-stats {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.72rem;
  color: rgba(226, 232, 240, 0.7);
}

.icon-text-link-card-stat strong {
  color: #e2e8f0;
}

.icon-text-link-card-stats-sep {
  width: 1px;
  height: 10px;
  background: rgba(255, 255, 255, 0.12);
}

.icon-text-link-stat-loading {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1.5px solid rgba(226, 232, 240, 0.25);
  border-top-color: rgba(226, 232, 240, 0.7);
  border-radius: 50%;
  animation: icon-text-link-spin 0.6s linear infinite;
  vertical-align: middle;
  margin-right: 2px;
}

@keyframes icon-text-link-spin {
  to { transform: rotate(360deg); }
}

.profile-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--color-primary-darker);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #e2e8f0;
}

.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-avatar-lg {
  width: 96px;
  height: 96px;
  font-size: 2.1rem;
}

.profile-page .panel-card + .panel-card {
  margin-top: 1rem;
}


.profile-hero-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}

.profile-hero-text {
  flex: 1 1 260px;
}

.profile-handle {
  color: #9fb0c5;
  font-size: 0.95rem;
}

.profile-stats {
  margin-top: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: rgba(15, 19, 26, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  padding: 0.4rem 0.9rem;
  color: #cbd5e1;
  font-size: 0.85rem;
}

.profile-section .section-header,
.collection-assets .section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.collection-grid {
  margin: 0;
}

.collection-card {
  background: #151a22;
  border: 1px solid #2b313c;
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.collection-card:hover {
  border-color: rgba(38, 166, 154, 0.6);
  transform: translateY(-2px);
}

.collection-card-thumb img,
.collection-card-thumb-empty {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
  background: #0b0f14;
}

.collection-card-thumb-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9fb0c5;
  font-size: 2rem;
}

.collection-card-body {
  padding: 0.9rem;
}

.collection-card-title {
  display: block;
  font-weight: 600;
  color: #f8fafc;
  margin-bottom: 0.35rem;
}

.collection-card-meta {
  color: #9fb0c5;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.collection-card-dot {
  opacity: 0.6;
}


.collection-hero-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}

.collection-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.collection-edit-panel .collection-edit-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.collection-edit-status {
  min-height: 1.4rem;
  margin-bottom: 0.75rem;
  font-size: 0.85rem;
  color: #9fb0c5;
}

.collection-edit-status[data-tone="error"] {
  color: #f87171;
}

.collection-edit-status[data-tone="success"] {
  color: #34d399;
}

.collection-order-controls {
  display: inline-flex;
  flex-direction: column;
  gap: 0.35rem;
}

.collection-edit-asset {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.collection-edit-thumb {
  width: 64px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #2b313c;
  background: #0b0f14;
  display: flex;
  align-items: center;
  justify-content: center;
}

.collection-edit-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection-edit-thumb-empty {
  font-size: 0.7rem;
  color: #9fb0c5;
}

.collections-manage-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.collections-manage-grid {
  display: grid;
  gap: 1rem;
}

.collection-manage-card {
  display: grid;
  gap: 1rem;
  border: 1px solid var(--crate-border);
  border-radius: 12px;
  padding: 1rem;
  background: var(--crate-panel);
}

.collection-manage-preview img,
.collection-manage-placeholder {
  width: 100%;
  height: 120px;
  border-radius: 10px;
  object-fit: cover;
  background: var(--crate-behind-image);
}

.collection-manage-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9fb0c5;
  font-size: 2rem;
  border: 1px solid #2b313c;
}

.collection-manage-body {
  display: grid;
  gap: 0.75rem;
}

.collection-manage-form {
  display: grid;
  gap: 0.6rem;
}

.collection-manage-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #9fb0c5;
  font-size: 0.85rem;
}

.collection-manage-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.collection-manage-delete {
  margin-top: 0.5rem;
}

@media (max-width: 768px) {
  .collection-manage-card {
    grid-template-columns: 1fr;
  }
}

.asset-thumb-preview {
  position: relative;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.asset-thumb-preview-image {
  display: block;
}

.asset-thumb-preview-card {
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  background: rgba(10, 14, 18, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 0.5rem 0.6rem;
  font-size: 0.78rem;
  color: #f1f5f9;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.asset-thumb-preview:hover .asset-thumb-preview-card {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.asset-thumb-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.4rem;
}

.asset-thumb-tag {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  font-size: 0.68rem;
  color: #cbd5e1;
  white-space: nowrap;
  text-transform: capitalize;
}

.asset-thumb-preview-title {
  font-weight: 600;
  margin-bottom: 0.1rem;
}

.asset-thumb-preview-meta {
  color: rgba(226, 232, 240, 0.7);
  margin-bottom: 0.35rem;
}

.asset-thumb-preview-meta:last-child {
  margin-bottom: 0;
}

.asset-thumb-preview-view3d {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  margin-top: 0.4rem;
  padding: 0.35rem 0.5rem;
  background: var(--color-primary);
  border: none;
  border-radius: 6px;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, filter 0.15s ease;
}

.asset-thumb-preview-view3d:hover {
  filter: brightness(1.15);
}

/* View 3D Model Modal */
.view3d-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.view3d-modal[hidden] {
  display: none;
}

.view3d-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
}

body.view3d-modal-open {
  overflow: hidden;
}

.view3d-modal-dialog {
  position: relative;
  width: 90vw;
  max-width: 900px;
  max-height: 85vh;
  background: #0f131a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.view3d-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.view3d-modal-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.view3d-modal-close {
  background: none;
  border: none;
  color: #9fb0c5;
  font-size: 1.4rem;
  cursor: pointer;
  padding: 0 0.25rem;
  line-height: 1;
}

.view3d-modal-close:hover {
  color: #f1f5f9;
}

.view3d-modal-body {
  flex: 1;
  min-height: 0;
  position: relative;
}

.view3d-modal-stage {
  width: 100%;
  height: 60vh;
  max-height: 600px;
  position: relative;
}

.view3d-modal-stage .asset-model-canvas {
  width: 100%;
  height: 100%;
}

.view3d-modal-stage canvas {
  width: 100% !important;
  height: 100% !important;
}

.view3d-modal-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9fb0c5;
  font-size: 0.85rem;
}

.view3d-modal-loading[hidden] {
  display: none;
}

.view3d-modal-thumbs {
  display: flex;
  gap: 6px;
  padding: 8px 12px;
  overflow-x: auto;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.view3d-modal-thumbs[hidden] {
  display: none;
}

.view3d-modal-thumb {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: #9fb0c5;
  font-size: 0.75rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  min-width: 60px;
  max-width: 120px;
}

.view3d-modal-thumb:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #d0dae6;
}

.view3d-modal-thumb.active {
  background: rgba(99, 148, 255, 0.15);
  border-color: rgba(99, 148, 255, 0.5);
  color: #fff;
}

.view3d-modal-thumb-ext {
  font-weight: 600;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.view3d-modal-thumb-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: 0.65rem;
}

.asset-card-thumb-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #99a8bb;
}

.asset-card-body {
  padding: 0.8rem;
}

.asset-card-body h3 {
  margin-bottom: 0.25rem;
  font-size: 0.95rem;
  line-height: 1.25;
}

.asset-card-body a:hover {
  text-decoration: none;
}

.asset-card-creator {
  color: #9fb0c5;
  font-size: 0.8rem;
  margin-bottom: 0.4rem;
}

.asset-meta-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.asset-meta-badges .badge,
.asset-tags .badge {
  font-size: 0.67rem;
}

.asset-card-date {
  display: block;
  color: #8fa2b9;
  margin-top: 0.45rem;
}

.asset-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 1rem;
}

.asset-media-main {
  position: relative;
}

.asset-media-stage,
.asset-media-modal-stage {
  position: relative;
  width: 100%;
  min-height: 420px;
  border: 1px solid var(--crate-border);
  border-radius: 10px;
  background: var(--crate-panel);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.asset-media-image {
  width: 100%;
  height: 100%;
  max-height: 640px;
  object-fit: contain;
  cursor: zoom-in;
}

.asset-media-expand {
  position: absolute;
  top: 0.7rem;
  left: 0.7rem;
  z-index: 2;
}

.asset-media-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.6rem;
  margin-top: 0.7rem;
  overflow: hidden;
}

.asset-media-modal-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
  gap: 0.6rem;
  margin-top: 0.7rem;
}

.asset-media-thumbs .asset-media-thumb {
  flex: 0 0 84px;
}

.asset-media-thumb {
  position: relative;
  border: 1px solid var(--crate-border);
  border-radius: 8px;
  overflow: hidden;
  padding: 0;
  background: var(--crate-behind-image);
  aspect-ratio: 1 / 1;
}

.asset-media-thumb.active {
  border-color: #4ea1ff;
}

.asset-media-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.asset-media-thumb-model {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #dbe6f2;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.asset-media-type-badge {
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 0.65rem;
  padding: 0.05rem 0.35rem;
  border-radius: 999px;
}

.asset-media-thumb-view-all {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  color: #e6effc;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: linear-gradient(135deg, rgba(61, 128, 212, 0.3), rgba(14, 20, 32, 0.8));
}

.asset-media-thumb-view-all-label {
  font-size: 0.75rem;
  text-transform: uppercase;
}

.asset-media-thumb-view-all-count {
  font-size: 1.1rem;
}

.asset-model-canvas {
  width: 100%;
  height: 100%;
  min-height: 420px;
}

.asset-model-canvas canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.asset-model-status {
  position: absolute;
  left: 0.8rem;
  bottom: 0.7rem;
  font-size: 0.8rem;
  color: #c4d2e1;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 6px;
  padding: 0.2rem 0.5rem;
}

.asset-model-toolbar {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
  max-width: 65%;
}

.asset-model-toggle-btn {
  border: none;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.45);
  color: #c4d2e1;
  font-size: 0.75rem;
  padding: 0.25rem 0.55rem;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.asset-model-toggle-btn:hover {
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
}

.asset-model-toggle-btn.active {
  background: rgba(60, 140, 255, 0.7);
  color: #fff;
}

/* ---- Mesh Editor ---- */
.mesh-editor-viewport {
  overflow: hidden;
}

.mesh-editor-canvas-wrap {
  position: relative;
  min-height: 520px;
  background: #0a0d14;
  border-radius: var(--bs-border-radius);
  overflow: hidden;
}

.mesh-editor-canvas-wrap .asset-model-canvas {
  min-height: 520px;
}

.mesh-editor-stats-overlay {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  z-index: 3;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 8px;
  padding: 0.4rem 0.7rem;
  font-size: 0.75rem;
  color: #d0dbe8;
  pointer-events: none;
  max-width: 360px;
}

.mesh-editor-stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.mesh-editor-stat-item strong {
  color: #fff;
  font-weight: 600;
}

.mesh-editor-stat-delta {
  margin-top: 0.2rem;
  font-size: 0.7rem;
  color: #7cb3ff;
}

.mesh-editor-history-list {
  max-height: 200px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mesh-editor-history-entry {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3rem 0.5rem;
  border-radius: 4px;
  font-size: 0.78rem;
  background: rgba(255, 255, 255, 0.03);
  color: #8a95a5;
}

.mesh-editor-history-entry.mesh-editor-history-current {
  background: rgba(60, 140, 255, 0.12);
  color: #c4d8f0;
}

.mesh-editor-history-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mesh-editor-history-time {
  flex-shrink: 0;
  margin-left: 0.75rem;
  font-size: 0.7rem;
  color: #5a6577;
}

@media (max-width: 991.98px) {
  .mesh-editor-canvas-wrap {
    min-height: 380px;
  }
  .mesh-editor-canvas-wrap .asset-model-canvas {
    min-height: 380px;
  }
}

.asset-media-modal {
  position: fixed;
  inset: 0;
  z-index: 1060;
}

.asset-media-modal[hidden] {
  display: none;
}

.asset-media-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.86);
}

.asset-media-modal-dialog {
  position: relative;
  width: min(96vw, 1300px);
  height: min(92vh, 900px);
  margin: 2vh auto;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 0.8rem;
}

.asset-media-modal-stage {
  min-height: 0;
}

.asset-media-modal-close {
  position: absolute;
  top: -0.2rem;
  right: 0;
  z-index: 2;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid #5c6777;
  color: #fff;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  line-height: 1;
}

.asset-media-modal-nav {
  position: absolute;
  top: 48%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  border: 1px solid #5c6777;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}

.asset-media-modal-nav.prev {
  left: -0.6rem;
}

.asset-media-modal-nav.next {
  right: -0.6rem;
}

body.asset-media-modal-open {
  overflow: hidden;
}

.asset-page-side dt {
  color: #9fb0c5;
  font-size: 0.83rem;
}

.asset-page-side dd {
  margin-bottom: 0.5rem;
}

.asset-reactions {
  margin-bottom: 0.75rem;
}

.asset-reactions-title {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9fb0c5;
  margin-bottom: 0.35rem;
}

.asset-reaction-buttons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
}

.asset-reaction-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.4rem 0.55rem;
  border-radius: 10px;
  border: 1px solid #2b313c;
  background: #11151b;
  color: #fff;
  font-size: 1.5rem;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

/* Per-reaction icon colours (only when selected) */
.asset-reaction-btn[data-reaction="heart"].is-selected {
  color: #e84393;
}
.asset-reaction-btn[data-reaction="funny"].is-selected {
  color: #f1c40f;
}
.asset-reaction-btn[data-reaction="wow"].is-selected {
  color: #e74c3c;
}
.asset-reaction-btn[data-reaction="angry"].is-selected {
  color: #9b59b6;
}

.asset-reaction-btn:hover {
  border-color: var(--color-primary);
  transform: translateY(-1px);
}

.asset-reaction-btn.is-selected,
.search-tabs .btn-secondary.is-selected {
  border-color: var(--color-primary);
  background: rgba(38, 166, 154, 0.2);
  box-shadow: 0 0 0 1px rgba(38, 166, 154, 0.35);
}

.asset-reaction-btn:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

@media (max-width: 991px) {
  .home-page .home-hero {
    padding: 2.25rem 0;
  }

  .home-page .home-hero-inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .home-page .home-hero-art {
    justify-content: flex-start;
  }

  .home-page .home-hero-art img {
    width: min(65vw, 320px);
  }

  .home-hero-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

}

/* Table: transparent background, thin gradient row lines (between rows only) */
.table.table-transparent-lines,
.table.table-transparent-lines thead,
.table.table-transparent-lines tbody,
.table.table-transparent-lines tr,
.table.table-transparent-lines th,
.table.table-transparent-lines td {
  background: transparent !important;
  border: none !important;
  padding: 0.9rem 0;
  font-size: var(--font-size-sm);
}

/* Row separator as background so we don't add extra table structure (no pseudo on tr) */
.table.table-transparent-lines tbody tr:not(:first-child) {
  background: linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.26), transparent) 0 0 / 100% 1px no-repeat transparent !important;
}

.table.table-simple {
  --bs-table-color: #e9edf3;
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(255, 255, 255, 0.2);
  --bs-table-striped-bg: transparent;
  --bs-table-striped-color: #e9edf3;
  --bs-table-active-bg: transparent;
  --bs-table-active-color: #e9edf3;
  vertical-align: middle;
}

.table.table-simple > :not(caption) > * > * {
  padding: 1rem 0.5rem;
}

.reaction-confetti {
  position: fixed;
  pointer-events: none;
  z-index: 2000;
}

.reaction-confetti-piece {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 2px;
  animation: confetti-burst 0.85s ease-out forwards;
}

@keyframes confetti-burst {
  to {
    transform: translate(var(--dx), var(--dy)) rotate(var(--rot));
    opacity: 0;
  }
}

.asset-collections-modal .modal-content {
  background: #10141b;
  border: 1px solid #2b313c;
  color: #e9edf3;
}

.asset-collections-modal .modal-header,
.asset-collections-modal .modal-footer {
  border-color: #2b313c;
}

.collection-loading {
  display: none;
  align-items: center;
  gap: 0.5rem;
  color: #9fb0c5;
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
}

.collection-loading.is-active {
  display: flex;
}

.collection-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 280px;
  overflow: auto;
}

.collection-option {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  padding: 0.55rem 0.6rem;
  border-radius: 10px;
  border: 1px solid #2b313c;
  background: var(--crate-panel);
  cursor: pointer;
}

.collection-option .form-check-input {
  margin: 0;
}

.collection-option:hover {
  border-color: #3a4658;
}

.collection-preview {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: #111823;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9fb0c5;
  font-size: 0.7rem;
  text-align: center;
  overflow: hidden;
}

.collection-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.collection-placeholder {
  padding: 0 0.35rem;
}

.collection-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.collection-name {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collection-meta {
  color: #9fb0c5;
  font-size: 0.78rem;
}

.collection-empty {
  color: #9fb0c5;
  font-size: 0.85rem;
  padding: 0.4rem 0;
}

.collection-create {
  margin-top: 0.85rem;
}

.collection-modal-status {
  min-height: 1.2rem;
  font-size: 0.85rem;
  color: #9fb0c5;
  margin-bottom: 0.6rem;
}

.collection-modal-status[data-tone="error"] {
  color: #ff9b9b;
}

.collection-modal-status[data-tone="success"] {
  color: #9fd3ac;
}

.collection-modal-status[data-tone="saving"] {
  color: #f5d48b;
  position: relative;
  padding-left: 1.4rem;
}

.collection-modal-status[data-tone="saving"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15rem;
  width: 0.9rem;
  height: 0.9rem;
  border: 2px solid rgba(245, 212, 139, 0.4);
  border-top-color: #f5d48b;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 860px) {
  .asset-page-layout {
    grid-template-columns: 1fr;
  }

  .asset-media-stage,
  .asset-media-modal-stage,
  .asset-model-canvas {
    min-height: 320px;
  }

  .asset-media-modal-dialog {
    width: 96vw;
    height: 92vh;
  }

  .asset-media-modal-nav.prev {
    left: 0.25rem;
  }

  .asset-media-modal-nav.next {
    right: 0.25rem;
  }
}

.upload-sections {
  display: grid;
  gap: 1.5rem;
}

.download-version + .download-version {
  margin-top: 1.5rem;
}

.download-unlock-status {
  font-size: 0.85rem;
  margin-top: 0.35rem;
}

.download-unlock-spinner {
  display: inline-block;
  animation: downloadUnlockSpin 0.8s linear infinite;
}

@keyframes downloadUnlockSpin {
  to {
    transform: rotate(360deg);
  }
}

.download-action-locked {
  opacity: 0.5;
  filter: grayscale(0.2);
  cursor: not-allowed;
}

.file-tree {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0.75rem;
  background: rgba(8, 11, 15, 0.6);
}

.file-tree-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: grid;
  gap: 0.35rem;
}

.file-tree-item {
  padding-left: 0;
}

.file-tree-folder summary {
  cursor: pointer;
  color: #cbd5e1;
  font-weight: 600;
  padding: 0.2rem 0;
}

.file-tree-folder summary::-webkit-details-marker {
  color: #8fb3ff;
}

.file-tree-file {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.3rem 0;
}

.file-tree-name {
  font-weight: 600;
}

.file-tree-meta {
  font-size: 0.85rem;
  color: rgba(203, 213, 225, 0.7);
}

.file-tree-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.file-preview-body {
  position: relative;
  width: 100%;
  min-height: 60vh;
}

.file-preview-body .asset-model-canvas {
  width: 100%;
  height: 60vh;
  background: #0b0f14;
}

.file-preview-iframe {
  width: 100%;
  height: 60vh;
  border: 0;
  background: #0b0f14;
}

.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
  border-color: transparent;
}

/* ===== Bootstrap color overrides (non-default palette) ===== */
.text-success {
  color: #22c55e !important;
}

.text-danger {
  color: #f43f5e !important;
}

.text-warning {
  color: #f59e0b !important;
}

.text-info {
  color: #38bdf8 !important;
}

.text-brand {
  color: var(--color-brand-light) !important;
}

.bg-success {
  background-color: #22c55e !important;
}

.bg-danger {
  background-color: #f43f5e !important;
}

.bg-warning {
  background-color: #f59e0b !important;
}

.bg-info {
  background-color: #38bdf8 !important;
}

.border-success {
  border-color: #22c55e !important;
}

.border-danger {
  border-color: #f43f5e !important;
}

.border-warning {
  border-color: #f59e0b !important;
}

.border-info {
  border-color: #38bdf8 !important;
}

.badge.bg-success { background-color: rgba(34, 197, 94, 0.15) !important; color: #22c55e !important; }
.badge.bg-danger  { background-color: rgba(244, 63, 94, 0.15) !important; color: #f43f5e !important; }
.badge.bg-warning { background-color: rgba(245, 158, 11, 0.15) !important; color: #f59e0b !important; }
.badge.bg-info    { background-color: rgba(56, 189, 248, 0.15) !important; color: #38bdf8 !important; }
.badge.bg-primary { background-color: rgba(29, 136, 126, 0.15) !important; color: var(--color-brand-light) !important; }

.pipe-recommended {
  background: rgba(40, 167, 69, 0.08);
  border-color: rgba(40, 167, 69, 0.4) !important;
}
.pipe-recommended-tag {
  font-size: 0.75rem;
  font-weight: 600;
  color: #2ea043;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-left: 0.3rem;
}

/* ---- Studio modals ---- */
.studio-modal .modal-content {
  background: var(--bs-body-bg, #111);
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.1));
  border-radius: 0.5rem;
  overflow: hidden;
}
.studio-modal .modal-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid var(--bs-border-color, rgba(255,255,255,0.1));
}
.studio-modal .modal-header .modal-title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--bs-secondary, #adb5bd);
  margin: 0;
}
.studio-modal .modal-header .modal-title i { font-size: 0.72rem; }
.studio-modal .modal-header .btn-close { font-size: 0.6rem; }
.studio-modal .modal-body { padding: 0.6rem 0.75rem; }
.studio-modal .modal-footer {
  padding: 0.5rem 0.75rem;
  border-top: 1px solid var(--bs-border-color, rgba(255,255,255,0.1));
}
.studio-modal .sm-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary, #adb5bd);
  margin-bottom: 0.3rem;
}
.studio-modal .sm-label-normal { text-transform: none; }
.studio-modal .sm-section { margin-bottom: 0.5rem; }
.studio-modal .sm-opt {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.6rem;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.15));
  background: transparent;
  cursor: pointer;
  font-size: 1rem;
  color: var(--bs-body-color, #dee2e6);
  transition: border-color 0.15s, background 0.15s;
  user-select: none;
  line-height: 1.3;
}
.studio-modal .sm-opt:hover { border-color: rgba(255,255,255,0.35); }
.studio-modal .sm-opt.active,
.studio-modal .sm-opt:has(input:checked) {
  border-color: var(--color-brand, #1a9a9a);
  background: rgba(26,154,154,0.1);
}
.studio-modal .sm-opt.sm-opt--locked { opacity: 0.5; cursor: not-allowed; }
.studio-modal .sm-opt.sm-opt--locked:hover { border-color: var(--bs-border-color, rgba(255,255,255,0.15)); }
.studio-modal .sm-opt.sm-opt--recommended:not(.sm-opt--locked) { background: rgba(40,167,69,0.06); }
.studio-modal .sm-opt.sm-opt--recommended:not(.sm-opt--locked):has(input:checked) { background: rgba(40,167,69,0.08); }
.studio-modal .sm-opt input[type="radio"],
.studio-modal .sm-opt input[type="checkbox"] { display: none; }
.studio-modal .sm-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.6rem;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.15));
  background: transparent;
  cursor: pointer;
  font-size: 0.78rem;
  color: var(--bs-body-color, #dee2e6);
  transition: border-color 0.15s, background 0.15s;
  user-select: none;
  line-height: 1.3;
}
.studio-modal .sm-toggle:hover { border-color: rgba(255,255,255,0.35); }
.studio-modal .sm-toggle.active,
.studio-modal .sm-toggle:has(input:checked) {
  border-color: var(--color-brand, #1a9a9a);
  background: rgba(26,154,154,0.1);
}
.studio-modal .sm-toggle input[type="checkbox"] { display: none; }
.studio-modal .sm-cost {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 0.6rem;
  border-radius: 0.375rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.08));
  font-size: 0.78rem;
}
.studio-modal textarea.form-control { font-size: 0.82rem; padding: 0.4rem 0.55rem; overflow: hidden; resize: none; }
.studio-modal input[type="file"].form-control { font-size: 0.78rem; padding: 0.3rem 0.5rem; }
.studio-modal .form-text { font-size: 0.7rem; }

/* Inline element sizes */
.studio-modal .sm-badge-cost { font-size: 0.65rem; }
.studio-modal .sm-badge-cost .bi-coin { font-size: 0.55rem; }
.studio-modal .sm-text-detail { font-size: 0.68rem; }
.studio-modal .sm-text-angle { font-size: 0.75rem; }
.studio-modal .sm-lock { color: #8b7bd4; font-size: 0.75rem; }
.studio-modal .sm-lock a { color: inherit; }
.studio-modal .sm-icon-tpose { font-size: 0.82rem; }
.studio-modal .sm-icon-cost { font-size: 0.7rem; }
.studio-modal .sm-ref-thumb { height: 20px; width: 20px; object-fit: cover; border-radius: 3px; }
.studio-modal .sm-ref-thumb-lg { height: 40px; width: 40px; object-fit: cover; }
.studio-modal .sm-badge-extra { font-size: 0.6rem; }
.studio-modal .sm-badge-unavail { font-size: 0.6rem; vertical-align: middle; }

/* Custom triangle count popup */
.sm-custom-tri-popup {
  display: none;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 1060;
  width: 260px;
  padding: 0;
}
.sm-custom-tri-popup.show { display: block; }
.sm-custom-tri-popup-inner {
  background: var(--bs-body-bg, #1a1d21);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 0.5rem;
  padding: 0.75rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
.sm-custom-tri-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(to right, rgba(26,154,154,0.3), rgba(26,154,154,0.7));
  outline: none;
}
.sm-custom-tri-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-brand, #1a9a9a);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.sm-custom-tri-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-brand, #1a9a9a);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.sm-custom-tri-input {
  width: 100px;
  text-align: center;
  font-size: 0.8rem;
}

/* ---- Style template dropdown ---- */
.studio-modal .sm-style-dd { position: relative; }
.studio-modal .sm-style-dd-btn {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
  padding: 0.38rem 0.6rem;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.15));
  background: transparent;
  color: var(--bs-body-color, #dee2e6);
  font-size: 0.82rem;
  cursor: pointer;
  transition: border-color 0.15s;
  text-align: left;
}
.studio-modal .sm-style-dd-btn:hover { border-color: rgba(255,255,255,0.35); }
.studio-modal .sm-style-dd.open .sm-style-dd-btn { border-color: var(--color-brand, #1a9a9a); }
.studio-modal .sm-style-dd-btn-icon { font-size: 0.82rem; opacity: 0.7; flex-shrink: 0; }
.studio-modal .sm-style-dd-btn-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-modal .sm-style-dd-arrow {
  margin-left: auto;
  font-size: 0.6rem;
  opacity: 0.45;
  transition: transform 0.15s;
  flex-shrink: 0;
}
.studio-modal .sm-style-dd.open .sm-style-dd-arrow { transform: rotate(180deg); }
.studio-modal .sm-style-dd-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 20;
  max-height: 260px;
  overflow-y: auto;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.18));
  background: var(--bs-body-bg, #111);
  box-shadow: 0 8px 24px rgba(0,0,0,0.45);
  padding: 0.25rem 0;
}
.studio-modal .sm-style-dd.open .sm-style-dd-menu { display: block; }
.studio-modal .sm-style-dd-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.6rem;
  cursor: pointer;
  font-size: 0.8rem;
  color: var(--bs-body-color, #dee2e6);
  transition: background 0.1s;
}
.studio-modal .sm-style-dd-item:hover { background: rgba(255,255,255,0.06); }
.studio-modal .sm-style-dd-item--active {
  background: rgba(26,154,154,0.1);
  color: var(--color-brand, #1a9a9a);
}
.studio-modal .sm-style-dd-item--action { color: var(--bs-secondary, #adb5bd); font-size: 0.76rem; }
.studio-modal .sm-style-dd-item--action:hover { color: var(--bs-body-color, #dee2e6); }
.studio-modal .sm-style-dd-item-icon { width: 1.2em; text-align: center; flex-shrink: 0; font-size: 0.82rem; }
.studio-modal .sm-style-dd-item-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-modal .sm-style-dd-item-hint {
  font-size: 0.68rem;
  color: var(--bs-secondary, #adb5bd);
  margin-left: auto;
  flex-shrink: 0;
  max-width: 50%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.studio-modal .sm-style-dd-item-actions {
  display: flex;
  gap: 0.15rem;
  margin-left: auto;
  flex-shrink: 0;
}
.studio-modal .sm-style-dd-item-actions button {
  background: none;
  border: none;
  color: var(--bs-secondary, #adb5bd);
  cursor: pointer;
  padding: 0.1rem 0.25rem;
  font-size: 0.72rem;
  border-radius: 0.2rem;
  line-height: 1;
  transition: color 0.1s, background 0.1s;
}
.studio-modal .sm-style-dd-item-actions button:hover {
  color: var(--bs-body-color, #dee2e6);
  background: rgba(255,255,255,0.08);
}
.studio-modal .sm-style-dd-item-actions .sm-star-active { color: #e6a817; }
.studio-modal .sm-style-dd-item-actions .sm-star-active:hover { color: #f0c040; }
.studio-modal .sm-style-dd-divider {
  height: 1px;
  background: var(--bs-border-color, rgba(255,255,255,0.1));
  margin: 0.25rem 0;
}
.studio-modal .sm-style-dd-heading {
  font-size: 0.62rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary, #adb5bd);
  padding: 0.3rem 0.6rem 0.1rem;
  user-select: none;
}
/* Inline create-template form */
.studio-modal .sm-style-create {
  display: none;
  padding: 0.45rem 0 0;
  margin-top: 0.35rem;
  border-top: 1px solid var(--bs-border-color, rgba(255,255,255,0.1));
}
.studio-modal .sm-style-create.show { display: block; }
.studio-modal .sm-icon-picker { display: flex; gap: 0.2rem; flex-wrap: wrap; }
.studio-modal .sm-icon-picker-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 0.25rem;
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.15));
  background: transparent;
  color: var(--bs-body-color, #dee2e6);
  cursor: pointer;
  font-size: 0.72rem;
  transition: border-color 0.1s, background 0.1s;
}
.studio-modal .sm-icon-picker-btn:hover { border-color: rgba(255,255,255,0.35); }
.studio-modal .sm-icon-picker-btn.active {
  border-color: var(--color-brand, #1a9a9a);
  background: rgba(26,154,154,0.12);
}
/* Template editor + save popup */
.studio-modal .sm-tpl-editor-wrap { position: relative; }
.studio-modal .sm-tpl-editor {
  font-size: 0.78rem;
  padding: 0.35rem 0.5rem;
  background: rgba(255,255,255,0.03);
  border: 1px dashed rgba(255,255,255,0.18);
  color: var(--bs-body-color, #dee2e6);
  border-radius: 0.375rem;
  line-height: 1.45;
}
.studio-modal .sm-tpl-editor:focus {
  border-style: solid;
  border-color: var(--color-brand, #1a9a9a);
  background: rgba(26,154,154,0.04);
}
.studio-modal .sm-tpl-placeholder {
  font-size: 0.7rem;
  color: var(--color-brand, #1a9a9a);
  background: rgba(26,154,154,0.1);
  padding: 0.05em 0.3em;
  border-radius: 0.2rem;
}
/* Save template popup */
.studio-modal .sm-save-tpl-popup {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 25;
  width: 280px;
}
.studio-modal .sm-save-tpl-popup-inner {
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color, rgba(255,255,255,0.18));
  background: var(--bs-body-bg, #111);
  box-shadow: 0 8px 24px rgba(0,0,0,0.45);
  padding: 0.5rem;
  max-height: 340px;
  overflow-y: auto;
}
.studio-modal .sm-save-tpl-popup-section { margin-bottom: 0.35rem; }
.studio-modal .sm-save-tpl-popup-existing:not(:empty) {
  border-top: 1px solid var(--bs-border-color, rgba(255,255,255,0.1));
  padding-top: 0.4rem;
  margin-top: 0.35rem;
}
.studio-modal .sm-save-tpl-popup-existing .sm-label { margin-bottom: 0.25rem; }
.studio-modal .sm-save-tpl-existing-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.45rem;
  border-radius: 0.3rem;
  cursor: pointer;
  font-size: 0.78rem;
  color: var(--bs-body-color, #dee2e6);
  transition: background 0.1s;
}
.studio-modal .sm-save-tpl-existing-item:hover { background: rgba(255,255,255,0.06); }
.studio-modal .sm-save-tpl-existing-item-icon { font-size: 0.78rem; flex-shrink: 0; }
.studio-modal .sm-save-tpl-existing-item-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-modal .sm-save-tpl-existing-item .bi-arrow-down-circle { opacity: 0.5; font-size: 0.72rem; }
.studio-modal .sm-save-tpl-existing-item:hover .bi-arrow-down-circle { opacity: 1; }
.studio-modal .sm-save-tpl-btn { white-space: nowrap; }
/* Color picker for custom templates */
.studio-modal .sm-color-picker { display: flex; gap: 0.2rem; flex-wrap: wrap; }
.studio-modal .sm-color-picker-btn {
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color 0.1s, transform 0.1s;
  padding: 0;
}
.studio-modal .sm-color-picker-btn:hover { transform: scale(1.15); }
.studio-modal .sm-color-picker-btn.active { border-color: #fff; }
/* Template badge on task detail */
.studio-tpl-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.5rem;
  border-radius: 0.3rem;
  font-size: 0.72rem;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  cursor: pointer;
  transition: background 0.1s, border-color 0.1s;
  max-width: 100%;
}
.studio-tpl-badge:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.25);
}
.studio-tpl-badge-icon { font-size: 0.72rem; }
.studio-tpl-badge-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-tpl-badge-actions { display: flex; gap: 0.15rem; margin-left: auto; }
.studio-tpl-badge-actions button {
  background: none; border: none; color: var(--bs-secondary, #adb5bd);
  cursor: pointer; padding: 0.1rem 0.2rem; font-size: 0.68rem; border-radius: 0.2rem;
  transition: color 0.1s, background 0.1s; line-height: 1;
}
.studio-tpl-badge-actions button:hover {
  color: var(--bs-body-color, #dee2e6); background: rgba(255,255,255,0.08);
}

.border {
  --bs-border-width: 2px;
}

.chat-notification-center .chat-notification-toggle {
  position: relative;
}

.chat-notification-badge {
  position: absolute;
  top: -2px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #dc3545;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}

.chat-notification-menu {
  width: 320px;
  max-height: 360px;
  overflow-y: auto;
}

.chat-notification-item {
  display: block;
  border-radius: 8px;
  margin-bottom: 0.2rem;
}

.chat-notification-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.88rem;
  font-weight: 600;
}

.chat-notification-preview {
  font-size: 0.8rem;
  color: #b8c2cf;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-widget-root {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1055;
}

.chat-launcher {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid #2b313c;
  background: #11151b;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  transition: border-color 0.2s ease, transform 0.2s ease;
  position: relative;
}

.chat-launcher:hover {
  border-color: var(--color-primary);
  transform: translateY(-1px);
}

.chat-launcher.is-hidden {
  display: none;
}

.chat-panel {
  width: min(420px, calc(100vw - 2rem));
  height: min(620px, calc(100vh - 2rem));
  border: 1px solid #2b313c;
  border-radius: 12px;
  background: #11151b;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5);
}

.chat-panel.is-hidden {
  display: none;
}

.chat-panel-header {
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.65rem;
  border-bottom: 1px solid #2b313c;
}

.chat-thread-title {
  font-size: 0.9rem;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-thread-title .icon-text-link {
  max-width: 100%;
}

.chat-thread-title .icon-text-link-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-header-handle {
  color: #9fb0c5;
}

.chat-connection-status {
  font-size: 0.7rem;
  color: #9fb0c5;
}

.chat-close-btn {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid #2b313c;
  background: #11151b;
  color: #fff;
}

.chat-panel-body {
  flex: 1;
  min-height: 0;
}

.chat-inline-notice {
  border-bottom: 1px solid #2b313c;
  font-size: 0.78rem;
  color: #9fd3ac;
  padding: 0.35rem 0.65rem;
  min-height: 1.8rem;
}

.chat-inline-notice.is-error {
  color: #ff9aa2;
}

.chat-list-view,
.chat-thread-view {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.chat-list-tabs {
  padding: 0.55rem 0.65rem 0.35rem;
  display: flex;
  gap: 0.45rem;
}

.chat-list-scroller {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0.4rem 0.65rem 0.65rem;
}

.chat-list-item {
  width: 100%;
  border: 1px solid #2b313c;
  border-radius: 10px;
  background: #11151b;
  color: #fff;
  text-align: left;
  padding: 0.55rem;
  margin-bottom: 0.4rem;
  cursor: pointer;
}

.chat-list-item:hover,
.chat-list-item.is-active {
  border-color: var(--color-primary);
  background: rgba(38, 166, 154, 0.15);
}

.chat-list-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
}

.chat-list-item-user .icon-text-link-text {
  font-size: 0.9rem;
  font-weight: 600;
}

.chat-list-item-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.chat-list-item-preview {
  margin-top: 0.25rem;
  color: #b8c2cf;
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-badge-red,
.chat-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 0.35rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
}

.chat-badge-red {
  background: #dc3545;
  color: #fff;
}

.chat-pill {
  background: #2b313c;
  color: #fff;
}

.chat-launcher-badge {
  position: absolute;
  top: -4px;
  right: -4px;
}

.chat-tab-badge {
  margin-left: 0.3rem;
}

.chat-request-item {
  border: 1px solid #2b313c;
  border-radius: 10px;
  background: #11151b;
  padding: 0.55rem;
  margin-bottom: 0.4rem;
}

.chat-request-title {
  font-size: 0.9rem;
}

.chat-request-title .icon-text-link-text {
  font-weight: 600;
}

.chat-request-preview {
  margin-top: 0.25rem;
  color: #b8c2cf;
  font-size: 0.8rem;
}

.chat-request-actions-row {
  margin-top: 0.45rem;
  display: inline-flex;
  gap: 0.35rem;
}

.chat-message-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.chat-new-messages-btn {
  position: absolute;
  bottom: 4.2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  border: none;
  border-radius: 1rem;
  background: rgba(60, 140, 255, 0.9);
  color: #fff;
  font-size: 0.75rem;
  padding: 0.3rem 0.85rem;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transition: background 0.15s;
}

.chat-new-messages-btn:hover {
  background: rgba(60, 140, 255, 1);
}

.chat-new-messages-btn[hidden] {
  display: none;
}

.chat-message-row {
  display: flex;
}

.chat-message-row.is-mine {
  justify-content: flex-end;
}

.chat-message-row.is-other {
  justify-content: flex-start;
}

.chat-message-bubble {
  max-width: 80%;
  border: 1px solid #2b313c;
  border-radius: 10px;
  background: #171c24;
  padding: 0.42rem 0.5rem;
}

.chat-message-row.is-mine .chat-message-bubble {
  border-color: var(--color-primary);
  background: rgba(38, 166, 154, 0.2);
}

.chat-message-sender {
  font-size: 0.72rem;
  color: #9fb0c5;
}

.chat-message-text {
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: 0.9rem;
}

.chat-message-image-wrap {
  margin-top: 0.35rem;
}

.chat-message-image {
  display: block;
  max-width: 100%;
  border-radius: 8px;
}

.chat-system-log {
  text-align: center;
  font-size: 0.76rem;
  color: #93a6bf;
  padding: 0.2rem 0.25rem;
}

.chat-loading {
  width: 100%;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  color: #9fb0c5;
  font-size: 0.82rem;
}

.chat-request-actions {
  border-top: 1px solid #2b313c;
  padding: 0.55rem 0.65rem;
  display: inline-flex;
  gap: 0.45rem;
}

.chat-compose-form {
  border-top: 1px solid #2b313c;
  padding: 0.55rem 0.65rem;
}

.chat-compose-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.45rem;
}

.chat-message-input {
  min-width: 0;
}

.chat-image-selection {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #9fb0c5;
  min-height: 1em;
}

@media (max-width: 576px) {
  .chat-widget-root {
    right: 0.6rem;
    bottom: 0.6rem;
  }
 
  .chat-panel {
    width: calc(100vw - 1.2rem);
    height: min(580px, calc(100vh - 1.2rem));
  }
}

.form-control {
  --bs-border-width: 2px;
}

/* Normalize text/search control heights across the app */
input.form-control,
input.form-control.form-control-sm,
input.form-control.form-control-lg,
input[type="search"].form-control,
input[type="search"].form-control.form-control-sm,
input[type="search"].form-control.form-control-lg {
  font-size: 0.9rem;
  line-height: 1.75rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  background: #0f1215;
}

.site-header input.form-control,
.site-header input.form-control.form-control-sm,
.site-header input.form-control.form-control-lg,
.site-header input[type="search"].form-control,
.site-header input[type="search"].form-control.form-control-sm,
.site-header input[type="search"].form-control.form-control-lg {
  font-size: 0.9rem;
  line-height: 1rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

.form-input-large.form-control,
input.form-input-large {
  line-height: 3rem;
}

.input-group-text {
font-size: 0.9rem;
  line-height: 1.3rem;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

/* Image-to-3D: fancy starfield loader, simple spinner fallback, progress label animation */
.i2t3d-magic-loader {
  --i2t3d-loader-core-a: #26a69a;
  --i2t3d-loader-core-b: #0ea5e9;
  --i2t3d-loader-core-shadow-a: rgba(38, 166, 154, 0.6);
  --i2t3d-loader-core-shadow-b: rgba(14, 165, 233, 0.35);
  --i2t3d-loader-core-shadow-a-strong: rgba(38, 166, 154, 0.8);
  --i2t3d-loader-core-shadow-b-strong: rgba(14, 165, 233, 0.5);
  --i2t3d-loader-orbit1: #0ea5e9;
  --i2t3d-loader-orbit1-shadow: rgba(14, 165, 233, 0.8);
  --i2t3d-loader-orbit2: #26a69a;
  --i2t3d-loader-orbit2-shadow: rgba(38, 166, 154, 0.8);
  --i2t3d-loader-orbit3: #06b6d4;
  --i2t3d-loader-orbit3-shadow: rgba(6, 182, 212, 0.9);
  --i2t3d-loader-orbit4: #10b981;
  --i2t3d-loader-orbit4-shadow: rgba(16, 185, 129, 0.7);
  --i2t3d-loader-drift: rgba(14, 165, 233, 0.9);
  --i2t3d-loader-drift-shadow: rgba(14, 165, 233, 0.6);
  --i2t3d-loader-label-shadow-a: rgba(38, 166, 154, 0.35);
  --i2t3d-loader-label-shadow-b: rgba(14, 165, 233, 0.45);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 0;
  margin-bottom: 0.25rem;
  background: transparent;
  min-height: 120px;
  position: relative;
}

.i2t3d-magic-loader__fancy {
  width: 140px;
  height: 110px;
  position: relative;
  margin: 0 auto;
}

.i2t3d-stars__core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--i2t3d-loader-core-a), var(--i2t3d-loader-core-b));
  box-shadow: 0 0 20px var(--i2t3d-loader-core-shadow-a), 0 0 40px var(--i2t3d-loader-core-shadow-b);
  animation: i2t3d-core-pulse 2s ease-in-out infinite;
}

.i2t3d-stars {
  position: absolute;
  left: 50%;
  top: 50%;
  pointer-events: none;
}

.i2t3d-stars span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  border-radius: 50%;
  animation: i2t3d-twinkle 2s ease-in-out infinite;
}

.i2t3d-stars--orbit1 {
  width: 56px;
  height: 56px;
  margin: -28px 0 0 -28px;
  animation: i2t3d-orbit-cw 6s linear infinite;
}

.i2t3d-stars--orbit1 span {
  background: var(--i2t3d-loader-orbit1);
  box-shadow: 0 0 10px var(--i2t3d-loader-orbit1-shadow);
}

.i2t3d-stars--orbit1 span:nth-child(1) { transform: rotate(0deg) translateY(-24px); animation-delay: 0s; }
.i2t3d-stars--orbit1 span:nth-child(2) { transform: rotate(120deg) translateY(-24px); animation-delay: 0.4s; }
.i2t3d-stars--orbit1 span:nth-child(3) { transform: rotate(240deg) translateY(-24px); animation-delay: 0.8s; }

.i2t3d-stars--orbit2 {
  width: 76px;
  height: 76px;
  margin: -38px 0 0 -38px;
  animation: i2t3d-orbit-ccw 8s linear infinite;
}

.i2t3d-stars--orbit2 span {
  width: 5px;
  height: 5px;
  margin: -2.5px 0 0 -2.5px;
  background: var(--i2t3d-loader-orbit2);
  box-shadow: 0 0 8px var(--i2t3d-loader-orbit2-shadow);
}

.i2t3d-stars--orbit2 span:nth-child(1) { transform: rotate(0deg) translateY(-34px); animation-delay: 0s; }
.i2t3d-stars--orbit2 span:nth-child(2) { transform: rotate(90deg) translateY(-34px); animation-delay: 0.3s; }
.i2t3d-stars--orbit2 span:nth-child(3) { transform: rotate(180deg) translateY(-34px); animation-delay: 0.6s; }
.i2t3d-stars--orbit2 span:nth-child(4) { transform: rotate(270deg) translateY(-34px); animation-delay: 0.9s; }

.i2t3d-stars--orbit3 {
  width: 96px;
  height: 96px;
  margin: -48px 0 0 -48px;
  animation: i2t3d-orbit-cw 10s linear infinite;
}

.i2t3d-stars--orbit3 span {
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  background: var(--i2t3d-loader-orbit3);
  box-shadow: 0 0 6px var(--i2t3d-loader-orbit3-shadow);
}

.i2t3d-stars--orbit3 span:nth-child(1) { transform: rotate(0deg) translateY(-44px); animation-delay: 0s; }
.i2t3d-stars--orbit3 span:nth-child(2) { transform: rotate(72deg) translateY(-44px); animation-delay: 0.2s; }
.i2t3d-stars--orbit3 span:nth-child(3) { transform: rotate(144deg) translateY(-44px); animation-delay: 0.4s; }
.i2t3d-stars--orbit3 span:nth-child(4) { transform: rotate(216deg) translateY(-44px); animation-delay: 0.6s; }
.i2t3d-stars--orbit3 span:nth-child(5) { transform: rotate(288deg) translateY(-44px); animation-delay: 0.8s; }

.i2t3d-stars--orbit4 {
  width: 66px;
  height: 66px;
  margin: -33px 0 0 -33px;
  animation: i2t3d-orbit-ccw 5s linear infinite;
}

.i2t3d-stars--orbit4 span {
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  background: var(--i2t3d-loader-orbit4);
  box-shadow: 0 0 8px var(--i2t3d-loader-orbit4-shadow);
}

.i2t3d-stars--orbit4 span:nth-child(1) { transform: rotate(45deg) translateY(-28px); animation-delay: 0.5s; }
.i2t3d-stars--orbit4 span:nth-child(2) { transform: rotate(165deg) translateY(-28px); animation-delay: 0.9s; }
.i2t3d-stars--orbit4 span:nth-child(3) { transform: rotate(285deg) translateY(-28px); animation-delay: 0.2s; }

.i2t3d-stars--drift {
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: var(--i2t3d-loader-drift);
  box-shadow: 0 0 12px var(--i2t3d-loader-drift-shadow);
  animation: i2t3d-drift 4s ease-in-out infinite;
}

.i2t3d-stars--drift1 { left: 18%; top: 25%; animation-delay: 0s; }
.i2t3d-stars--drift2 { left: 78%; top: 60%; animation-delay: 1.2s; }
.i2t3d-stars--drift3 { left: 50%; top: 85%; animation-delay: 2.4s; }

.i2t3d-magic-loader__simple {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80px;
}

.i2t3d-spinner-simple {
  font-size: 48px;
  color: var(--i2t3d-loader-core-a);
  animation: spin 0.8s linear infinite;
}

.i2t3d-magic-loader.i2t3d-magic-loader--queued {
  --i2t3d-loader-core-a: #f97316;
  --i2t3d-loader-core-b: #dc2626;
  --i2t3d-loader-core-shadow-a: rgba(249, 115, 22, 0.6);
  --i2t3d-loader-core-shadow-b: rgba(220, 38, 38, 0.35);
  --i2t3d-loader-core-shadow-a-strong: rgba(249, 115, 22, 0.82);
  --i2t3d-loader-core-shadow-b-strong: rgba(220, 38, 38, 0.55);
  --i2t3d-loader-orbit1: #f97316;
  --i2t3d-loader-orbit1-shadow: rgba(249, 115, 22, 0.85);
  --i2t3d-loader-orbit2: #fb923c;
  --i2t3d-loader-orbit2-shadow: rgba(251, 146, 60, 0.8);
  --i2t3d-loader-orbit3: #ef4444;
  --i2t3d-loader-orbit3-shadow: rgba(239, 68, 68, 0.85);
  --i2t3d-loader-orbit4: #f59e0b;
  --i2t3d-loader-orbit4-shadow: rgba(245, 158, 11, 0.8);
  --i2t3d-loader-drift: rgba(249, 115, 22, 0.88);
  --i2t3d-loader-drift-shadow: rgba(249, 115, 22, 0.62);
  --i2t3d-loader-label-shadow-a: rgba(249, 115, 22, 0.38);
  --i2t3d-loader-label-shadow-b: rgba(239, 68, 68, 0.42);
}

.i2t3d-magic-loader__toggle {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  padding: 0;
  color: var(--bs-secondary);
}

.i2t3d-magic-loader__toggle:hover {
  color: var(--bs-body-color);
}

.i2t3d-progress-label-wrap.i2t3d-progress-label--active .i2t3d-progress-label-text {
  animation: i2t3d-label-glow 2.5s ease-in-out infinite;
}

@keyframes i2t3d-orbit-cw {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes i2t3d-orbit-ccw {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

@keyframes i2t3d-twinkle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}

.i2t3d-stars--orbit1 span:nth-child(1) { animation: i2t3d-twinkle 2s ease-in-out 0s infinite; }
.i2t3d-stars--orbit1 span:nth-child(2) { animation: i2t3d-twinkle 2s ease-in-out 0.4s infinite; }
.i2t3d-stars--orbit1 span:nth-child(3) { animation: i2t3d-twinkle 2s ease-in-out 0.8s infinite; }

.i2t3d-stars--orbit3 span:nth-child(1) { animation: i2t3d-twinkle 2.2s ease-in-out 0s infinite; }
.i2t3d-stars--orbit3 span:nth-child(2) { animation: i2t3d-twinkle 2.2s ease-in-out 0.2s infinite; }
.i2t3d-stars--orbit3 span:nth-child(3) { animation: i2t3d-twinkle 2.2s ease-in-out 0.4s infinite; }
.i2t3d-stars--orbit3 span:nth-child(4) { animation: i2t3d-twinkle 2.2s ease-in-out 0.6s infinite; }
.i2t3d-stars--orbit3 span:nth-child(5) { animation: i2t3d-twinkle 2.2s ease-in-out 0.8s infinite; }

.i2t3d-stars--orbit4 span:nth-child(1) { animation: i2t3d-twinkle 1.8s ease-in-out 0.5s infinite; }
.i2t3d-stars--orbit4 span:nth-child(2) { animation: i2t3d-twinkle 1.8s ease-in-out 0.9s infinite; }
.i2t3d-stars--orbit4 span:nth-child(3) { animation: i2t3d-twinkle 1.8s ease-in-out 0.2s infinite; }

@keyframes i2t3d-core-pulse {
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 20px var(--i2t3d-loader-core-shadow-a), 0 0 40px var(--i2t3d-loader-core-shadow-b); }
  50% { opacity: 0.85; transform: scale(1.1); box-shadow: 0 0 28px var(--i2t3d-loader-core-shadow-a-strong), 0 0 50px var(--i2t3d-loader-core-shadow-b-strong); }
}

@keyframes i2t3d-drift {
  0%, 100% { transform: translate(0, 0); opacity: 0.9; }
  25% { transform: translate(6px, -8px); opacity: 0.6; }
  50% { transform: translate(-4px, 4px); opacity: 1; }
  75% { transform: translate(-8px, -4px); opacity: 0.7; }
}

@keyframes i2t3d-label-glow {
  0%, 100% { opacity: 1; text-shadow: 0 0 8px var(--i2t3d-loader-label-shadow-a); }
  50% { opacity: 0.92; text-shadow: 0 0 14px var(--i2t3d-loader-label-shadow-b); }
}

/* Image-to-3D: server-active loader (slower, orange/brown) when server is up but task not yet processing */
.i2t3d-server-active-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 0;
  margin-bottom: 0.25rem;
  background: transparent;
  min-height: 120px;
  position: relative;
}

.i2t3d-server-active-loader .i2t3d-server-active-loader__fancy {
  width: 140px;
  height: 110px;
  position: relative;
  margin: 0 auto;
}

.i2t3d-server-active-loader .i2t3d-server-active-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #d97706, #b45309);
  box-shadow: 0 0 20px rgba(217, 119, 6, 0.5), 0 0 40px rgba(180, 83, 9, 0.3);
  animation: i2t3d-server-active-core-pulse 3.5s ease-in-out infinite;
}

.i2t3d-server-active-loader .i2t3d-server-active-stars {
  position: absolute;
  left: 50%;
  top: 50%;
  pointer-events: none;
}

.i2t3d-server-active-loader .i2t3d-server-active-stars span {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  animation: i2t3d-server-active-twinkle 3s ease-in-out infinite;
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o1 {
  width: 56px;
  height: 56px;
  margin: -28px 0 0 -28px;
  animation: i2t3d-orbit-cw 10s linear infinite;
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o1 span {
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  background: #d97706;
  box-shadow: 0 0 10px rgba(217, 119, 6, 0.7);
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o1 span:nth-child(1) { transform: rotate(0deg) translateY(-24px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o1 span:nth-child(2) { transform: rotate(120deg) translateY(-24px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o1 span:nth-child(3) { transform: rotate(240deg) translateY(-24px); }

.i2t3d-server-active-loader .i2t3d-server-active-stars--o2 {
  width: 76px;
  height: 76px;
  margin: -38px 0 0 -38px;
  animation: i2t3d-orbit-ccw 13s linear infinite;
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o2 span {
  width: 5px;
  height: 5px;
  margin: -2.5px 0 0 -2.5px;
  background: #b45309;
  box-shadow: 0 0 8px rgba(180, 83, 9, 0.7);
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o2 span:nth-child(1) { transform: rotate(0deg) translateY(-34px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o2 span:nth-child(2) { transform: rotate(90deg) translateY(-34px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o2 span:nth-child(3) { transform: rotate(180deg) translateY(-34px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o2 span:nth-child(4) { transform: rotate(270deg) translateY(-34px); }

.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 {
  width: 96px;
  height: 96px;
  margin: -48px 0 0 -48px;
  animation: i2t3d-orbit-cw 17s linear infinite;
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 span {
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  background: #c2410c;
  box-shadow: 0 0 6px rgba(194, 65, 12, 0.8);
}

.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 span:nth-child(1) { transform: rotate(0deg) translateY(-44px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 span:nth-child(2) { transform: rotate(72deg) translateY(-44px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 span:nth-child(3) { transform: rotate(144deg) translateY(-44px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 span:nth-child(4) { transform: rotate(216deg) translateY(-44px); }
.i2t3d-server-active-loader .i2t3d-server-active-stars--o3 span:nth-child(5) { transform: rotate(288deg) translateY(-44px); }

.i2t3d-server-active-loader .i2t3d-server-active-status {
  text-align: center;
  margin-bottom: 0.25rem;
  margin-top: 0.5rem;
}

@keyframes i2t3d-server-active-core-pulse {
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 20px rgba(217, 119, 6, 0.5), 0 0 40px rgba(180, 83, 9, 0.3); }
  50% { opacity: 0.85; transform: scale(1.08); box-shadow: 0 0 28px rgba(217, 119, 6, 0.6), 0 0 50px rgba(180, 83, 9, 0.4); }
}

@keyframes i2t3d-server-active-twinkle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* ---- Studio point-cloud canvas loader ---- */
.studio-pointcloud-wrap {
  width: 100%;
  position: relative;
}
.studio-pointcloud-wrap canvas {
  display: block;
  width: 100%;
  height: auto;
}
.studio-galaxy-status {
  text-align: center;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--bs-secondary-color, #adb5bd);
  min-height: 1.4em;
}

/* ---- Studio inline status row ---- */
.studio-inline-status {
  text-align: center;
}
.studio-inline-status-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  font-size: 0.78rem;
  color: var(--bs-secondary-color, #6c757d);
  padding: 0.25rem 0;
}
.studio-inline-status-divider {
  width: 1px;
  height: 1rem;
  background: var(--bs-border-color, rgba(255,255,255,0.15));
}
.studio-inline-status-label {
  opacity: 0.6;
  margin-right: 0.3rem;
}
.studio-inline-status-value {
  font-weight: 600;
}
/* ─── Studio Refinement Badges & Version Bar ─── */
.studio-refinement-badge {
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
  font-size: 0.6rem;
  padding: 0.15em 0.35em;
  pointer-events: none;
}
.studio-refinement-badge + .studio-refinement-badge {
  right: 1.6rem;
}
#studioModelVersionBar .btn-group .btn {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
}

/* ─── Reusable Skeleton Loader ─── */
.skeleton {
  background: var(--crate-border, #2d2d2d);
  border-radius: 0.375rem;
  overflow: hidden;
  position: relative;
}
.skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.06) 60%, transparent 100%);
  animation: skeleton-shimmer 1.5s ease-in-out infinite;
}
@keyframes skeleton-shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.skeleton--text {
  height: 0.75rem;
  width: 60%;
  border-radius: 0.25rem;
}
.skeleton--circle {
  border-radius: 50%;
}
.skeleton--block {
  width: 100%;
}

/* Composite: 3-column image angle grid */
.skeleton-angles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  width: 100%;
}
.skeleton-angles .skeleton {
  aspect-ratio: 1 / 1;
}

/* Composite: 3D viewer placeholder */
.skeleton-viewer .skeleton {
  min-height: 320px;
}

/* Composite: metadata text lines */
.skeleton-meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.skeleton-meta .skeleton:nth-child(1) { width: 40%; }
.skeleton-meta .skeleton:nth-child(2) { width: 70%; }
.skeleton-meta .skeleton:nth-child(3) { width: 55%; }
.skeleton-meta .skeleton:nth-child(4) { width: 45%; }

/* Skeleton button row */
.skeleton-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.skeleton-buttons .skeleton {
  height: 1.75rem;
  border-radius: 0.375rem;
}

/* Global: thinner lead text fix */
.lead {
  font-weight: 400;
}

/* ── Momentum Mode banner (shared component) ── */
.momentum-mode-banner {
  border: 2px solid #6366f1;
  border-radius: 16px;
  background: linear-gradient(145deg, #0f172a, #111827);
  box-shadow: 0 15px 40px rgba(0,0,0,0.35);
}
.momentum-active {
}
.momentum-inner {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: center;
}
.momentum-active .momentum-inner {
  gap: 0.5rem;
}
.momentum-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.momentum-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
}
.momentum-info-link {
  font-size: 0.75rem;
  color: #94a3b8;
  text-decoration: none;
  opacity: 0.8;
}
.momentum-info-link:hover {
  color: #cbd5e1;
  opacity: 1;
}
.momentum-badge {
  font-size: 0.75rem;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: #cbd5e1;
  font-weight: 500;
}
.momentum-active .momentum-badge {
  background: rgba(239,68,68,0.15);
  border-color: rgba(239,68,68,0.5);
  color: #fee2e2;
}
.momentum-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
  justify-content: space-between;
}
.momentum-copy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35em;
  font-size: 0.9rem;
  line-height: 1.4;
}
.momentum-copy .momentum-title {
  flex-shrink: 0;
  line-height: 1.4;
}
.momentum-desc {
  color: #cbd5e1;
  line-height: 1.4;
  align-items: center;
}
.momentum-active .momentum-desc {
  color: #fecaca;
}
.momentum-copy strong {
  font-weight: 500;
  color: #f8fafc;
}
.momentum-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
  font-size: 0.85rem;
  margin-top: 0.25rem;
}
.momentum-col {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 0.6rem 0.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.momentum-col-title {
  font-size: 0.9rem;
  font-weight: 500;
  color: #e2e8f0;
  margin-bottom: 0.25rem;
  line-height: 1.4;
}
.momentum-col ul {
  padding-left: 1rem;
  margin: 0;
}
.momentum-col li {
  margin-bottom: 0.25rem;
  color: #94a3b8;
  line-height: 1.4;
}
.momentum-active .momentum-col:last-child {
  border-color: rgba(239,68,68,0.4);
  background: rgba(239,68,68,0.06);
}
.momentum-cta {
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.momentum-active .momentum-copy {
  font-size: 0.9rem;
}
.momentum-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  font-size: 0.9rem;
  color: #fecaca;
  margin-top: 0.25rem;
  line-height: 1.4;
}
.momentum-active .momentum-stats {
  font-size: 0.85rem;
  gap: 0.75rem;
  margin-top: 0;
}
.momentum-stats span,
.momentum-stats .small {
  white-space: nowrap;
  align-items: center;
}
.momentum-stats strong {
  color: #fef2f2;
}
.momentum-time-left {
  font-size: 0.9rem;
  color: #fecaca;
}
.momentum-mode-banner .small {
  line-height: 1.4;
}
/* Per-model pricing pills (used in mini-status) */
.momentum-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  padding: 0.2em 0.6em;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}
.momentum-pill.standard {
  background: rgba(40, 167, 69, 0.2);
  color: #6ee7a0;
  border: 1px solid rgba(40, 167, 69, 0.3);
}
.momentum-pill.ultra {
  background: rgba(255, 193, 7, 0.2);
  color: #ffd740;
  border: 1px solid rgba(255, 193, 7, 0.3);
}
/* Model cards row (banner) */
.momentum-model-row {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
  flex-wrap: wrap;
}
.momentum-card {
  flex: 1 1 0;
  min-width: 120px;
  border-radius: 10px;
  padding: 0.6rem 0.75rem;
  text-align: center;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.momentum-card-label {
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 0.15rem;
}
.momentum-card-cost {
  font-size: 0.9rem;
  color: #94a3b8;
}
.momentum-card-subtext {
  font-size: 0.7rem;
  color: #64748b;
  margin-top: 0.1rem;
}
.momentum-card-afford {
  font-size: 0.72rem;
  margin-top: 0.25rem;
  font-weight: 600;
}
/* Standard card colours */
.momentum-card.standard { border-color: rgba(40,167,69,0.15); }
.momentum-card.standard .momentum-card-label { color: #94a3b8; }
.momentum-card.standard.active {
  border-color: rgba(40,167,69,0.5);
  background: rgba(40,167,69,0.08);
  box-shadow: 0 0 12px rgba(40,167,69,0.15);
}
.momentum-card.standard.active .momentum-card-label { color: #6ee7a0; }
.momentum-card.standard.active .momentum-card-cost { color: #6ee7a0; }
.momentum-card.standard.active .momentum-card-afford { color: #4ade80; }
/* Ultra card colours */
.momentum-card.ultra { border-color: rgba(255,193,7,0.15); }
.momentum-card.ultra .momentum-card-label { color: #94a3b8; }
.momentum-card.ultra.active {
  border-color: rgba(255,193,7,0.5);
  background: rgba(255,193,7,0.08);
  box-shadow: 0 0 12px rgba(255,193,7,0.15);
}
.momentum-card.ultra.active .momentum-card-label { color: #ffd740; }
.momentum-card.ultra.active .momentum-card-cost { color: #ffd740; }
.momentum-card.ultra.active .momentum-card-afford { color: #fbbf24; }
/* Header row */
.momentum-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* ── Momentum mini banner (homepage inactive) ── */
.momentum-mini-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.momentum-mini-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.momentum-mini-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #cbd5e1;
  white-space: nowrap;
}
.momentum-mini-cards {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.momentum-mini-card {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  padding: 0.25rem 0.55rem;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: #64748b;
  transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
}
.momentum-mini-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #475569;
  flex-shrink: 0;
  transition: background 0.2s, box-shadow 0.2s;
}
.momentum-mini-dot.active {
  background: #4ade80;
  box-shadow: 0 0 6px rgba(74,222,128,0.5);
}
.momentum-mini-label {
  white-space: nowrap;
}
.momentum-mini-cost {
  color: #475569;
  font-weight: 500;
}
.momentum-mini-standard-cost {
  color: #475569;
  font-weight: 400;
  text-decoration: line-through;
  opacity: 0.6;
}
.momentum-mini-card.standard { border-color: rgba(40,167,69,0.12); }
.momentum-mini-card.standard.active {
  border-color: rgba(40,167,69,0.4);
  background: rgba(40,167,69,0.08);
  color: #6ee7a0;
  box-shadow: 0 0 8px rgba(40,167,69,0.12);
}
.momentum-mini-card.standard.active .momentum-mini-cost { color: #6ee7a0; }
.momentum-mini-card.standard.active .momentum-mini-standard-cost { color: #475569; }
.momentum-mini-card.ultra { border-color: rgba(255,193,7,0.12); }
.momentum-mini-card.ultra.active {
  border-color: rgba(255,193,7,0.4);
  background: rgba(255,193,7,0.08);
  color: #ffd740;
  box-shadow: 0 0 8px rgba(255,193,7,0.12);
}
.momentum-mini-card.ultra.active .momentum-mini-cost { color: #ffd740; }
.momentum-mini-card.ultra.active .momentum-mini-standard-cost { color: #475569; }
.momentum-mini-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* ── Momentum Mode page ── */
.mm-hero {
  border-radius: 16px;
  background: linear-gradient(145deg, #0f172a, #111827);
  border: 2px solid #6366f1;
  padding: 2.5rem 2rem;
  box-shadow: 0 15px 40px rgba(0,0,0,0.35);
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mm-hero h1 {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}
.mm-hero .lead {
  color: #cbd5e1;
}

.mm-section-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #f8fafc;
  margin-bottom: 0.75rem;
}

.mm-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 1.25rem;
  height: 100%;
}
.mm-card-icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  color: #a5b4fc;
}
.mm-card h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #e2e8f0;
  margin-bottom: 0.35rem;
}
.mm-card p {
  color: #94a3b8;
  font-size: 0.875rem;
  margin-bottom: 0;
  line-height: 1.5;
}

.mm-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(99,102,241,0.15);
  border: 1px solid rgba(99,102,241,0.4);
  color: #a5b4fc;
  font-weight: 600;
  font-size: 0.85rem;
  flex-shrink: 0;
}

.mm-compare-table {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}
.mm-compare-table th,
.mm-compare-table td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
}
.mm-compare-table thead th {
  background: rgba(255,255,255,0.04);
  font-weight: 600;
  color: #e2e8f0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-size: 0.9rem;
}
.mm-compare-table tbody td {
  border-bottom: 1px solid rgba(255,255,255,0.04);
  color: #cbd5e1;
  font-size: 0.875rem;
}
.mm-compare-table .mm-highlight-col {
  background: rgba(99,102,241,0.06);
}

.mm-faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 1rem 0;
}
.mm-faq-item:last-child {
  border-bottom: none;
}
.mm-faq-q {
  font-weight: 600;
  color: #e2e8f0;
  margin-bottom: 0.35rem;
  font-size: 0.95rem;
}
.mm-faq-a {
  color: #94a3b8;
  font-size: 0.875rem;
  line-height: 1.5;
  margin: 0;
}

/* Live status widget */
.mm-live-status {
  border: 2px solid #6366f1;
  border-radius: 16px;
  background: linear-gradient(145deg, #0f172a, #111827);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.mm-live-status.mm-live-active {
  border-color: #991b1b;
  background: linear-gradient(145deg, #621010, #1c3685);
}
.mm-live-header {
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.mm-live-header h2 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}
.mm-live-badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-weight: 500;
}
.mm-live-badge-inactive {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: #cbd5e1;
}
.mm-live-badge-active {
  background: rgba(239,68,68,0.15);
  border: 1px solid rgba(239,68,68,0.5);
  color: #fee2e2;
}
.mm-live-body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.mm-live-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin-bottom: 1rem;
}
.mm-live-stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.mm-live-stat-label {
  font-size: 0.75rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.mm-live-active .mm-live-stat-label {
  color: #fca5a5;
}
.mm-live-stat-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #e2e8f0;
}
.mm-live-active .mm-live-stat-value {
  color: #fef2f2;
}
.mm-live-desc {
  font-size: 0.875rem;
  color: #94a3b8;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.mm-live-active .mm-live-desc {
  color: #fecaca;
}

/* ========================================
   Home V99 Workflow Image Placeholders
   Replace with real images from CDN once available
   ======================================== */

.home-workflow-image-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 200px;
  width: 100%;
  border-radius: 10px;
  font-size: 0.875rem;
  color: #9ca3af;
}

.home-workflow-image-placeholder .bi {
  font-size: 2.5rem;
  display: block;
}

.home-workflow-image-placeholder span {
  font-weight: 600;
  font-size: 0.9rem;
}

.home-workflow-image-placeholder small {
  color: #6b7280;
  font-size: 0.8rem;
}

.home-workflow-image-placeholder--create {
  background: linear-gradient(145deg,
    color-mix(in srgb, var(--home-color-create) 12%, transparent) 0%,
    rgba(43, 49, 60, 0.3) 100%
  );
  border: 1px dashed color-mix(in srgb, var(--home-color-create) 35%, transparent);
  color: var(--home-color-create);
}

.home-workflow-image-placeholder--generate {
  background: linear-gradient(145deg,
    color-mix(in srgb, var(--home-color-generate) 12%, transparent) 0%,
    rgba(43, 49, 60, 0.3) 100%
  );
  border: 1px dashed color-mix(in srgb, var(--home-color-generate) 35%, transparent);
  color: var(--home-color-generate);
}

/* Home use-cases section subtitle */
.home-use-cases-v99__subtitle {
  text-align: center;
  font-size: 1.1rem;
  color: #9ca3af;
  margin-top: -2rem;
  margin-bottom: 3rem;
}

/* Linked use-case cards on homepage */
.home-use-case-v99--linked {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.home-use-case-v99--linked:hover {
  text-decoration: none;
  color: inherit;
}

.home-use-case-v99--linked .home-use-case-v99__heading {
  transition: color 0.2s ease;
}

.home-use-case-v99--linked:hover .home-use-case-v99__heading {
  color: var(--home-color-create);
}

.home-use-case-v99__cta {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--home-color-create);
  margin-top: 0.25rem;
  transition: opacity 0.2s ease;
}

.home-use-case-v99--linked:hover .home-use-case-v99__cta {
  opacity: 0.75;
}

/* Distinct placeholder colours per use case */
.home-use-case-v99__image-placeholder--game {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-generate) 14%, transparent) 0%,
    color-mix(in srgb, var(--home-color-explore) 10%, transparent) 100%
  );
  color: color-mix(in srgb, var(--home-color-generate) 80%, #fff);
}

.home-use-case-v99__image-placeholder--print {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 14%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 10%, transparent) 100%
  );
  color: color-mix(in srgb, var(--home-color-create) 80%, #fff);
}

.home-use-case-v99__image-placeholder--concept {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-explore) 14%, transparent) 0%,
    color-mix(in srgb, var(--home-color-create) 10%, transparent) 100%
  );
  color: color-mix(in srgb, var(--home-color-explore) 80%, #fff);
}

.home-use-case-v99__image-placeholder--indie {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-upload) 12%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 10%, transparent) 100%
  );
  color: color-mix(in srgb, var(--home-color-upload) 80%, #fff);
}

.home-use-case-v99__image-placeholder--vrchat {
  background: linear-gradient(135deg,
    color-mix(in srgb, #7c3aed 12%, transparent) 0%,
    color-mix(in srgb, #a855f7 10%, transparent) 100%
  );
  color: color-mix(in srgb, #a855f7 80%, #fff);
}

/* ========================================
   Use Case Pages (/use-case/*)
   ======================================== */

.use-case-page {
  padding-bottom: 4rem;
}

/* Breadcrumb */
.use-case-breadcrumb {
  padding: 1.5rem 0 0;
  font-size: 0.875rem;
  color: #9ca3af;
}

.use-case-breadcrumb a {
  color: #9ca3af;
  text-decoration: none;
  transition: color 0.2s ease;
}

.use-case-breadcrumb a:hover {
  color: #d1d5db;
}

/* Hero */
.use-case-hero {
  padding: 3rem 0 4rem;
  max-width: 760px;
}

.use-case-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  background: color-mix(in srgb, var(--home-color-create) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--home-color-create) 35%, transparent);
  color: var(--home-color-create);
  margin-bottom: 1.5rem;
}

.use-case-hero__headline {
  font-size: clamp(2.25rem, 6vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}

.use-case-hero__sub {
  font-size: 1.15rem;
  color: #9ca3af;
  line-height: 1.65;
  margin-bottom: 2rem;
  max-width: 620px;
}

.use-case-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* Section title shared */
.use-case-section-title {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
}

/* Cards grid */
.use-case-cards-section {
  padding: 2rem 0 3rem;
}

.use-case-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.use-case-detail-card {
  background: var(--color-primary-darker);
  border: 1px solid #2d2d2d;
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.use-case-detail-card:hover {
  border-color: color-mix(in srgb, var(--home-color-create) 40%, transparent);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.use-case-detail-card__thumb {
  width: 100%;
  aspect-ratio: 3 / 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  color: #4d4d4d;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 8%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 8%, transparent) 100%
  );
  border-bottom: 1px solid #2d2d2d;
}

.use-case-detail-card__thumb--characters {
  color: color-mix(in srgb, var(--home-color-generate) 70%, #fff);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-generate) 12%, transparent) 0%,
    rgba(43, 49, 60, 0.2) 100%
  );
}

.use-case-detail-card__thumb--props {
  color: color-mix(in srgb, var(--home-color-create) 70%, #fff);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 12%, transparent) 0%,
    rgba(43, 49, 60, 0.2) 100%
  );
}

.use-case-detail-card__thumb--weapons {
  color: color-mix(in srgb, var(--home-color-explore) 70%, #fff);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-explore) 12%, transparent) 0%,
    rgba(43, 49, 60, 0.2) 100%
  );
}

.use-case-detail-card__thumb--environment {
  color: color-mix(in srgb, var(--home-color-upload) 70%, #fff);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-upload) 10%, transparent) 0%,
    rgba(43, 49, 60, 0.2) 100%
  );
}

.use-case-detail-card__thumb--miniatures,
.use-case-detail-card__thumb--terrain,
.use-case-detail-card__thumb--custom {
  color: color-mix(in srgb, var(--home-color-generate) 70%, #fff);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-generate) 10%, transparent) 0%,
    rgba(43, 49, 60, 0.2) 100%
  );
}

.use-case-detail-card__body {
  padding: 1.5rem;
}

.use-case-detail-card__body h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.use-case-detail-card__body p {
  font-size: 0.9rem;
  color: #9ca3af;
  line-height: 1.55;
  margin: 0;
}

/* Workflow steps */
.use-case-workflow-section {
  padding: 2rem 0 3rem;
  border-top: 1px solid #1f1f1f;
}

.use-case-workflow-steps {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 720px;
}

.use-case-workflow-step {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

.use-case-workflow-step__num {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--home-color-create) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--home-color-create) 35%, transparent);
  color: var(--home-color-create);
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.use-case-workflow-step__content h3 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.use-case-workflow-step__content p {
  font-size: 0.9rem;
  color: #9ca3af;
  line-height: 1.55;
  margin: 0;
}

.use-case-workflow-step__link {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--home-color-create);
  text-decoration: none;
}

.use-case-workflow-step__link:hover {
  text-decoration: underline;
}

/* Compatibility list */
.use-case-compat-section {
  padding: 2rem 0 3rem;
  border-top: 1px solid #1f1f1f;
}

.use-case-compat-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 560px;
}

.use-case-compat-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.95rem;
}

.use-case-compat-item .bi-check-circle-fill {
  color: var(--home-color-create);
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* CTA section */
.use-case-cta-section {
  padding: 3rem 0;
  text-align: center;
  border-top: 1px solid #1f1f1f;
}

.use-case-cta-inner {
  max-width: 540px;
  margin: 0 auto;
}

.use-case-cta-inner h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}

.use-case-cta-inner p {
  font-size: 1rem;
  color: #9ca3af;
  margin-bottom: 2rem;
}

.use-case-cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Mobile */
@media (max-width: 767px) {
  .use-case-cards-grid {
    grid-template-columns: 1fr;
  }

  .use-case-hero {
    padding: 2rem 0 3rem;
  }

  .use-case-workflow-step {
    gap: 1rem;
  }
}

/* ========================================
   Homepage Visual Refresh — New Components
   ======================================== */

/* Eyebrow labels — small all-caps category label above section titles */
.home-eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--home-color-create);
  margin-bottom: 0.75rem;
}

.home-eyebrow--center {
  text-align: center;
}

/* Hero badge pill */
.home-hero-v99__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.9rem;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 999px;
  background: color-mix(in srgb, var(--home-color-create) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--home-color-create) 35%, transparent);
  color: var(--home-color-create);
  margin-bottom: 1.5rem;
}

.home-hero-v99__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--home-color-create);
  box-shadow: 0 0 6px var(--home-color-create);
  flex-shrink: 0;
  animation: home-badge-pulse 2.2s ease-in-out infinite;
}

@keyframes home-badge-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

/* Gradient accent word in headline */
.home-hero-v99__headline-accent {
  background: linear-gradient(90deg, var(--home-color-create) 0%, #818cf8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Social proof strip under CTA */
.home-hero-v99__social-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: #6b7280;
}

.home-hero-v99__social-proof span {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.home-hero-v99__social-proof .bi {
  color: var(--home-color-create);
  font-size: 0.9rem;
}

/* ===== Home V3 Wrapper ===== */
.home-v3 {
  overflow: hidden;
}

.fw-850 { font-weight: 800; }
.fw-900 { font-weight: 900; }
.tracking-wider { letter-spacing: 0.05em; }
.hover-glow { transition: box-shadow 0.2s ease; }
.hover-glow:hover { box-shadow: 0 0 20px rgba(255, 255, 255, 0.08); }

/* ===== Home V3 Section Headers (shared) ===== */
.home-v3-section-title {
  font-size: clamp(1.4rem, 3vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 0.4rem;
}

.home-v3-section-sub {
  font-size: 0.95rem;
  color: #9ca3af;
  margin-bottom: 0;
}

/* ===== Home V3 Hero ===== */
.home-v3-hero {
  position: relative;
  padding: 5rem 0 3.5rem;
  text-align: center;
}

.home-v3-hero__glow {
  position: absolute;
  top: -30%;
  left: 20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(ellipse at center, rgba(16, 185, 129, 0.16) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.home-v3-hero__glow-orange {
  position: absolute;
  top: -20%;
  right: 15%;
  width: 550px;
  height: 550px;
  background: radial-gradient(ellipse at center, rgba(255, 140, 0, 0.13) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.home-v3-hero__icons {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.floating-plus {
  position: absolute;
  color: rgba(255, 255, 255, 0.08);
  font-size: 1.2rem;
  animation: floatPlus 6s ease-in-out infinite;
}

@keyframes floatPlus {
  0%, 100% { transform: translateY(0); opacity: 0.08; }
  50%      { transform: translateY(-12px); opacity: 0.15; }
}

.home-v3-hero__badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 0.35rem 1rem;
  font-size: 0.82rem;
  color: #ccc;
  margin-bottom: 1.25rem;
}

.home-v3-hero__logo {
  width: 80px;
  height: auto;
  margin-bottom: 1.5rem;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
}

.home-v3-hero__title {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin-bottom: 1rem;
  color: #fff;
}

.text-scramble {
  color: var(--color-brand-light);
  display: inline-block;
}

.text-scramble .char-glyph {
  display: inline-block;
  color: rgba(255, 255, 255, 0.25);
  font-size: 0.7em;
  vertical-align: baseline;
}

.text-scramble .char-resolved {
  color: var(--color-brand-light);
  transition: color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.text-scramble .char-warn {
  display: inline-block;
  color: var(--color-brand-light);
  opacity: 0.4;
  transform: translateY(-2px);
  filter: blur(1px);
  transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;
}

.text-scramble .char-leet {
  display: inline-block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.85em;
  transition: color 0.2s ease;
}

.text-scramble .char-settle {
  display: inline-block;
  color: var(--color-brand-light);
  transform: translateY(1px);
  opacity: 0.8;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.home-v3-hero__subtitle {
  font-size: 1.15rem;
  font-weight: 300;
  color: #9ca3af;
  max-width: 38rem;
  margin: 0 auto 1.75rem;
  line-height: 1.6;
}

.home-v3-hero__cta {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* ===== Showcase Section ===== */
.home-v3-showcase {
  position: relative;
  padding: 3rem 0;
}

.section-glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 300px;
  background: radial-gradient(ellipse at center, rgba(16, 185, 129, 0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.showcase-nav-btn {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 6px;
}

.showcase-scroll-container {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.5rem;
  cursor: grab;
}

.showcase-scroll-container::-webkit-scrollbar { display: none; }
.showcase-scroll-container.active {
  cursor: grabbing;
  user-select: none;
}

.showcase-item {
  flex: 0 0 220px;
}

.showcase-thumbnail-wrapper {
  aspect-ratio: 1;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.showcase-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.showcase-item:hover .showcase-img {
  transform: scale(1.04);
}

/* ===== Features Grid ===== */
.home-v3-features {
  padding: 3.5rem 0;
}

.home-v3-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.home-v3-feature-item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 1.5rem;
  transition: border-color 0.2s ease;
}

.home-v3-feature-item:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.home-v3-feature-item__icon {
  font-size: 1.4rem;
  color: var(--color-brand-light);
  margin-bottom: 0.75rem;
}

.home-v3-feature-item__title {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.4rem;
}

.home-v3-feature-item__desc {
  font-size: 0.85rem;
  color: #9ca3af;
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 767px) {
  .home-v3-features__grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .home-v3-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ===== Pricing Strip ===== */
.home-pricing-strip {
  position: relative;
  padding: 3rem 0;
  text-align: center;
}

.pricing-strip-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 250px;
  background: radial-gradient(ellipse at center, rgba(99, 102, 241, 0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ===== Final CTA ===== */
.home-v3-value {
  position: relative;
  padding: 4rem 0 5rem;
  text-align: center;
}

.home-v3-bottom-glow {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 350px;
  background: radial-gradient(ellipse at center, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ===== YouTube Video Section ===== */
.home-video-section {
  padding: 3rem 0 4rem;
  position: relative;
}

.home-video-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 300px;
  background: radial-gradient(ellipse at center, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.home-video-wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.home-video-wrapper:hover {
  border-color: rgba(255, 255, 255, 0.15);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
}

.home-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ===== Pipeline Section (3-step how it works) ===== */
.home-pipeline {
  padding: 4rem 0 0 0;
  position: relative;
  overflow: hidden;
}

.home-pipeline::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse at center, rgba(255, 140, 0, 0.15) 0%, rgba(255, 100, 0, 0.05) 40%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.home-pipeline__header {
  text-align: center;
  margin-bottom: 3rem;
}

.home-pipeline__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}

.home-pipeline__sub {
  font-size: 1.05rem;
  color: #9ca3af;
  margin: 0;
}

.home-pipeline__steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: start;
  margin-bottom: 3.5rem;
}

.home-pipeline__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1rem;
  position: relative;
}

.home-pipeline__step-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  margin-bottom: 1rem;
  transition: transform 0.25s ease;
}

.home-pipeline__step:hover .home-pipeline__step-icon {
  transform: scale(1.08) translateY(-2px);
}

.home-pipeline__step-icon--1 {
  background: color-mix(in srgb, var(--home-color-create) 16%, transparent);
  color: var(--home-color-create);
  box-shadow: 0 0 20px color-mix(in srgb, var(--home-color-create) 20%, transparent);
}

.home-pipeline__step-icon--2 {
  background: color-mix(in srgb, var(--home-color-generate) 16%, transparent);
  color: var(--home-color-generate);
  box-shadow: 0 0 20px color-mix(in srgb, var(--home-color-generate) 20%, transparent);
}

.home-pipeline__step-icon--3 {
  background: color-mix(in srgb, var(--home-color-explore) 16%, transparent);
  color: var(--home-color-explore);
  box-shadow: 0 0 20px color-mix(in srgb, var(--home-color-explore) 20%, transparent);
}

.home-pipeline__step-num {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #4b5563;
  margin-bottom: 0.5rem;
}

.home-pipeline__step-heading {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #f3f4f6;
}

.home-pipeline__step-text {
  font-size: 0.875rem;
  color: #9ca3af;
  line-height: 1.55;
  margin: 0;
  max-width: 220px;
}

.home-pipeline__connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 2.85rem; /* align with icon centre */
  color: #374151;
  font-size: 1.25rem;
  gap: 0.25rem;
}

.home-pipeline__connector-line {
  display: none; /* decorative — kept for potential future enhancement */
}

/* Asset Studio preview block */
.home-pipeline__studio-preview {
  border: 1px solid #1f2937;
  border-radius: 16px;
  overflow: hidden;
  background: var(--color-primary-darker);
}

.home-pipeline__studio-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #6b7280;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #1f2937;
  margin: 0;
  text-transform: uppercase;
}

.home-pipeline__studio-label .bi {
  color: var(--home-color-create);
}

.home-pipeline__studio-img {
  width: 100%;
  aspect-ratio: 1576 / 678;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ===== Pipeline Steps (4-step how-it-works) ===== */
.home-pipeline-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.home-pipeline-step {
  padding: 1.25rem 1.25rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 0.2s ease;
}

.home-pipeline-step:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.home-pipeline-step__num {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--step-color, var(--color-brand-light));
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.home-pipeline-step__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.25rem;
}

.home-pipeline-step__desc {
  font-size: 0.8rem;
  color: #9ca3af;
  margin: 0 0 0.75rem;
  line-height: 1.4;
}

.home-pipeline-step__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.home-pipeline-step__list li {
  font-size: 0.8rem;
  color: #d1d5db;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.home-pipeline-step__list li i {
  font-size: 0.75rem;
  flex-shrink: 0;
  color: var(--step-color, var(--color-brand-light));
}

@media (max-width: 767px) {
  .home-pipeline-steps {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .home-pipeline-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ===== Pipeline — Video Embed ===== */
.home-pipeline__video-wrap {
  max-width: 860px;
  margin: 0 auto 3.5rem;
  padding: 0 1rem;
}

.home-pipeline__video-frame {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #0d1117;
  box-shadow:
    0 4px 32px rgba(0, 0, 0, 0.45),
    0 0 80px color-mix(in srgb, var(--home-color-create) 8%, transparent);
}

.home-pipeline__video-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  background: #0d1117;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.home-pipeline__video-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #30363d;
}

.home-pipeline__video-url {
  margin-left: 10px;
  font-size: 0.7rem;
  color: #484f58;
  font-family: monospace;
  text-decoration: none;
  transition: color 0.15s ease;
}

.home-pipeline__video-url:hover {
  color: #8b949e;
}

.home-pipeline__video-embed {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
}

.home-pipeline__video-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ===== Why Crateyard V2 — accent card grid ===== */
.home-why-v2 {
  padding: 5rem 0;
  position: relative;
}

.home-why-v2__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 0;
}

.home-why-v2__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.home-why-v2__card {
  --_accent: var(--home-color-create);
  position: relative;
  padding: 1.75rem;
  border-radius: 14px;
  border: 2px solid color-mix(in srgb, var(--_accent) 18%, transparent);
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--_accent) 6%, var(--color-primary-darker)) 0%,
    var(--color-primary-darker) 100%
  );
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.home-why-v2__card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--_accent) 40%, transparent);
  box-shadow: 0 6px 24px color-mix(in srgb, var(--_accent) 12%, transparent);
}

.home-why-v2__card--teal   { --_accent: var(--home-color-create); }
.home-why-v2__card--indigo  { --_accent: var(--home-color-generate); }
.home-why-v2__card--sky     { --_accent: var(--home-color-explore); }
.home-why-v2__card--amber   { --_accent: var(--home-color-upload); }
.home-why-v2__card--violet  { --_accent: var(--home-color-feature); }

.home-why-v2__icon-wrap {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--_accent);
  background: color-mix(in srgb, var(--_accent) 14%, transparent);
  margin-bottom: 1rem;
}

.home-why-v2__heading {
  font-size: 1.05rem;
  font-weight: 600;
  color: #e5e7eb;
  margin: 0 0 0.5rem;
}

.home-why-v2__text {
  font-size: 0.875rem;
  color: #9ca3af;
  line-height: 1.6;
  margin: 0;
}

/* ===== Feature Showcase Rows ===== */
.home-showcase-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  padding: 4rem 0;
  border-bottom: 1px solid #1f2937;
}

.home-showcase-row:last-child {
  border-bottom: none;
}

.home-showcase-row--reversed .home-showcase-row__media {
  order: -1;
}

.home-showcase-row__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 1rem;
}

.home-showcase-row__desc {
  font-size: 1.05rem;
  color: #9ca3af;
  line-height: 1.7;
  margin: 0 0 1.5rem;
}

.home-showcase-row__badge {
  --_badge-color: var(--home-color-create);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--_badge-color);
  background: color-mix(in srgb, var(--_badge-color) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--_badge-color) 30%, transparent);
  margin-bottom: 1rem;
}

.home-showcase-row__badge--teal   { --_badge-color: var(--home-color-create); }
.home-showcase-row__badge--violet { --_badge-color: var(--home-color-feature); }

.home-showcase-row__checks {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.home-showcase-row__checks li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.4rem 0;
  font-size: 0.95rem;
  color: #d1d5db;
}

.home-showcase-row__checks .bi-check-circle-fill {
  color: var(--home-color-create);
  font-size: 1rem;
  flex-shrink: 0;
}

.home-showcase-row__media {
  position: relative;
}

.home-showcase-row__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  background-color: var(--color-primary-darker);
  border: 2px solid color-mix(in srgb, var(--_row-accent, var(--home-color-create)) 18%, transparent);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  transition: border-color 0.25s ease;
}

.home-showcase-row:hover .home-showcase-row__img {
  border-color: color-mix(in srgb, var(--_row-accent, var(--home-color-create)) 40%, transparent);
}

.home-showcase-row--violet  { --_row-accent: var(--home-color-feature); }
.home-showcase-row--teal    { --_row-accent: var(--home-color-create); }
.home-showcase-row--indigo  { --_row-accent: var(--home-color-generate); }
.home-showcase-row--sky     { --_row-accent: var(--home-color-explore); }

/* ===== Why Crateyard — 2-col checklist (legacy, kept for compatibility) ===== */
.home-why {
  padding: 4rem 0;
}

.home-why__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 4rem;
  align-items: start;
}

.home-why__header {
  position: sticky;
  top: 5rem;
}

.home-why__title {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 0;
}

.home-why__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2.5rem;
}

.home-why__item {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}

.home-why__item .bi {
  font-size: 1.25rem;
  color: var(--home-color-create);
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.home-why__item div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.home-why__item strong {
  font-size: 0.95rem;
  font-weight: 600;
  color: #e5e7eb;
}

.home-why__item span {
  font-size: 0.85rem;
  color: #9ca3af;
  line-height: 1.5;
}

/* ===== Final CTA glowing panel ===== */
.home-final-cta-v99 {
  position: relative;
}

.home-final-cta-v99__glow {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: radial-gradient(
    ellipse 70% 60% at 50% 80%,
    color-mix(in srgb, var(--home-color-create) 12%, transparent) 0%,
    transparent 70%
  );
  pointer-events: none;
}

.home-final-cta-v99__inner {
  position: relative;
  max-width: 650px;
  margin: 0 auto;
}

/* ===== Responsive overrides ===== */
@media (max-width: 1199px) {
  .home-why__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .home-why__header {
    position: static;
  }

  .home-why-v2__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .home-pipeline-cards {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .home-pipeline-card__connector {
    display: flex;
    justify-content: center;
    padding: 0;
    transform: rotate(90deg);
  }

  .home-showcase-row,
  .home-showcase-row--reversed .home-showcase-row__media {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .home-showcase-row {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .home-showcase-row--reversed .home-showcase-row__media {
    order: 0;
  }

  .home-showcase-row__media {
    order: -1;
  }

  .home-showcase-row__img {
    max-height: 400px;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  .home-pipeline__steps {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .home-pipeline__connector {
    padding-top: 0;
    transform: rotate(90deg);
    margin: 0.5rem auto;
  }

  .home-why__grid {
    grid-template-columns: 1fr;
  }

  .home-why-v2__grid {
    grid-template-columns: 1fr;
  }

  .home-hero-v99__social-proof {
    gap: 0.6rem;
  }
}

/* ========================================
   Feature Showcase Sections (homepage)
   ======================================== */

.home-showcase {
  padding: 3rem 0;
  border-top: 1px solid #1f1f1f;
}

.home-showcase__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.home-showcase__inner--reverse {
  direction: rtl;
}

.home-showcase__inner--reverse > * {
  direction: ltr;
}

.home-showcase__media {
  width: 100%;
  background-color: #000;
}

.home-showcase__image {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.home-showcase__image-placeholder {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  border: 1px dashed #3d3d3d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 4rem;
  color: #4d4d4d;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 6%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 6%, transparent) 100%
  );
}

.home-showcase__image-placeholder--rigger {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 10%, transparent) 0%,
    color-mix(in srgb, var(--home-color-explore) 6%, transparent) 100%
  );
  border-color: color-mix(in srgb, var(--home-color-create) 30%, transparent);
  color: color-mix(in srgb, var(--home-color-create) 70%, #fff);
}

.home-showcase__image-placeholder--text-to-image {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-generate) 10%, transparent) 0%,
    color-mix(in srgb, var(--home-color-create) 6%, transparent) 100%
  );
  border-color: color-mix(in srgb, var(--home-color-generate) 30%, transparent);
  color: color-mix(in srgb, var(--home-color-generate) 70%, #fff);
}

.home-showcase__image-placeholder--image-to-3d {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-explore) 10%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 6%, transparent) 100%
  );
  border-color: color-mix(in srgb, var(--home-color-explore) 30%, transparent);
  color: color-mix(in srgb, var(--home-color-explore) 70%, #fff);
}

.home-showcase__image-prompt {
  font-size: 0.75rem;
  color: #6b7280;
  text-align: center;
  max-width: 260px;
  line-height: 1.4;
}

.home-showcase__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.home-showcase__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  width: fit-content;
}

.home-showcase__badge--free {
  background: color-mix(in srgb, #22c55e 14%, transparent);
  border: 1px solid color-mix(in srgb, #22c55e 35%, transparent);
  color: #22c55e;
}

.home-showcase__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
}

.home-showcase__text {
  font-size: 1.05rem;
  color: #9ca3af;
  line-height: 1.65;
  margin: 0;
}

.home-showcase__bullets {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.home-showcase__bullets li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: #d1d5db;
}

.home-showcase__bullets .bi {
  color: var(--home-color-create);
  font-size: 0.85rem;
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .home-showcase__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .home-showcase__inner--reverse {
    direction: ltr;
  }
}

@media (max-width: 767px) {
  .home-showcase {
    padding: 2rem 0;
  }

  .home-showcase__heading {
    font-size: 1.5rem;
  }
}

/* ========================================
   Asset Creator Showcase Page (/asset-creator/create)
   ======================================== */

.create-showcase {
  padding-bottom: 4rem;
}

.create-showcase__hero {
  padding: 3rem 0 4rem;
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.create-showcase__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.9rem;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 999px;
  background: color-mix(in srgb, var(--home-color-create) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--home-color-create) 35%, transparent);
  color: var(--home-color-create);
  margin-bottom: 1.5rem;
}

.create-showcase__headline {
  font-size: clamp(2.25rem, 6vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}

.create-showcase__sub {
  font-size: 1.15rem;
  color: #9ca3af;
  line-height: 1.65;
  margin-bottom: 2rem;
}

.create-showcase__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* Tool detail sections on showcase page */
.create-tool {
  padding: 3rem 0;
  border-top: 1px solid #1f1f1f;
}

.create-tool__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.create-tool__inner--reverse {
  direction: rtl;
}

.create-tool__inner--reverse > * {
  direction: ltr;
}

.create-tool__media {
  width: 100%;
}

.create-tool__image-placeholder {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  border: 1px dashed #3d3d3d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 3.5rem;
  color: #4d4d4d;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 6%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 6%, transparent) 100%
  );
}

.create-tool__image-prompt {
  font-size: 0.75rem;
  color: #6b7280;
  text-align: center;
  max-width: 280px;
  line-height: 1.4;
}

.create-tool__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.create-tool__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  width: fit-content;
}

.create-tool__badge--free {
  background: color-mix(in srgb, #22c55e 14%, transparent);
  border: 1px solid color-mix(in srgb, #22c55e 35%, transparent);
  color: #22c55e;
}

.create-tool__badge--tokens {
  background: color-mix(in srgb, var(--home-color-create) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--home-color-create) 35%, transparent);
  color: var(--home-color-create);
}

.create-tool__heading {
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
}

.create-tool__text {
  font-size: 1rem;
  color: #9ca3af;
  line-height: 1.65;
  margin: 0;
}

.create-tool__features {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.create-tool__features li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: #d1d5db;
}

.create-tool__features .bi {
  color: var(--home-color-create);
  font-size: 0.85rem;
  flex-shrink: 0;
}

/* Asset Studio overview section on showcase page */
.create-studio-overview {
  padding: 3rem 0;
  border-top: 1px solid #1f1f1f;
  text-align: center;
}

.create-studio-overview__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}

.create-studio-overview__text {
  font-size: 1.05rem;
  color: #9ca3af;
  line-height: 1.65;
  max-width: 680px;
  margin: 0 auto 2.5rem;
}

.create-studio-overview__image-placeholder {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  border: 1px dashed #3d3d3d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 3rem;
  color: #4d4d4d;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--home-color-create) 8%, transparent) 0%,
    color-mix(in srgb, var(--home-color-generate) 4%, transparent) 100%
  );
}

.create-studio-overview__prompt {
  font-size: 0.75rem;
  color: #6b7280;
  max-width: 320px;
  text-align: center;
  line-height: 1.4;
}

.create-studio-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 860px;
  margin: 2.5rem auto 0;
  text-align: left;
}

.create-studio-overview__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: var(--color-primary-darker);
  border: 1px solid #2d2d2d;
  border-radius: 10px;
}

.create-studio-overview__feature .bi {
  color: var(--home-color-create);
  font-size: 1.25rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.create-studio-overview__feature strong {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.create-studio-overview__feature span {
  font-size: 0.85rem;
  color: #9ca3af;
  line-height: 1.45;
}

/* CTA on showcase page */
.create-showcase__cta-section {
  padding: 3rem 0;
  text-align: center;
  border-top: 1px solid #1f1f1f;
}

.create-showcase__cta-inner {
  max-width: 540px;
  margin: 0 auto;
}

.create-showcase__cta-inner h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}

.create-showcase__cta-inner p {
  font-size: 1rem;
  color: #9ca3af;
  margin-bottom: 2rem;
}

.create-showcase__cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

@media (max-width: 991px) {
  .create-tool__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .create-tool__inner--reverse {
    direction: ltr;
  }

  .create-studio-overview__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .create-showcase__hero {
    padding: 2rem 0 3rem;
  }

  .create-tool {
    padding: 2rem 0;
  }
}



/* ═══════════════════════════════════════════════════════════════
   Asset Studio Landing – /tool/asset-studio
   Prefix: as-landing__
   ═══════════════════════════════════════════════════════════════ */

   .as-landing {
    overflow-x: clip; /* allow vertical bleed */
  }
  
  /* ── HERO ──────────────────────────────────────────────────── */
  .as-landing__hero {
    position: relative;
    padding: 6rem 0 3rem;
    text-align: center;
    overflow-x: clip; /* allow vertical bleed for the glow */
  }
  
  .as-landing__hero-glow {
    position: absolute;
    top: -220px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 520px;
    background: radial-gradient(
      ellipse at center,
      color-mix(in srgb, var(--as-accent) 18%, transparent) 0%,
      color-mix(in srgb, var(--home-color-generate) 8%, transparent) 40%,
      transparent 70%
    );
    pointer-events: none;
    filter: blur(40px);
  }
  
  .as-landing__hero-inner {
    max-width: 740px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  
  .as-landing__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 1rem;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 999px;
    background: color-mix(in srgb, var(--as-accent) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--as-accent) 30%, transparent);
    color: var(--as-accent);
    margin-bottom: 1.75rem;
  }
  
  .as-landing__badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--as-accent);
    animation: as-dot-pulse 2s ease-in-out infinite;
  }
  
  @keyframes as-dot-pulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.35); }
  }
  
  .as-landing__headline {
    font-family: "Rubik", sans-serif;
    font-size: clamp(2.5rem, 7vw, 4rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin: 0 0 1.25rem;
    color: #fff;
  }
  
  .as-landing__headline-accent {
    background: linear-gradient(135deg, var(--as-accent) 0%, var(--home-color-explore) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  
  .as-landing__sub {
    font-size: 1.15rem;
    color: var(--as-muted);
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 2rem;
  }
  
  .as-landing__hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
  }
  
  .as-landing__cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }
  
  .as-landing__proof {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    font-size: 0.82rem;
    color: var(--as-muted);
  }
  
  .as-landing__proof span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
  }
  
  .as-landing__proof .bi {
    color: var(--as-accent);
    font-size: 0.75rem;
  }
  
  /* ── SCREENSHOT ───────────────────────────────────────────── */
  .as-landing__screenshot-section {
    padding: 0 0 5rem;
  }
  
  .as-landing__screenshot-frame {
    max-width: 960px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--as-border);
    background: var(--as-surface);
    box-shadow:
      0 4px 24px rgba(0, 0, 0, 0.35),
      0 0 80px color-mix(in srgb, var(--as-accent) 6%, transparent);
  }
  
  .as-landing__screenshot-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    background: #0d1117;
    border-bottom: 1px solid var(--as-border);
  }
  
  .as-landing__screenshot-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #30363d;
  }
  
  .as-landing__screenshot-url {
    margin-left: 10px;
    font-size: 0.7rem;
    color: #484f58;
    font-family: monospace;
    text-decoration: none;
    transition: color 0.15s ease;
  }

  .as-landing__screenshot-url:hover {
    color: #8b949e;
  }
  
  .as-landing__screenshot-img {
    width: 100%;
    aspect-ratio: 1576 / 678;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  /* ── WORKFLOW ──────────────────────────────────────────────── */
  .as-landing__workflow {
    padding: 5rem 0;
    text-align: center;
    border-top: 1px solid var(--as-border);
  }
  
  .as-landing__eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--as-accent);
    margin-bottom: 0.75rem;
  }
  
  .as-landing__section-title {
    font-family: "Rubik", sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 1rem;
    color: #fff;
  }
  
  .as-landing__section-sub {
    font-size: 1.05rem;
    color: var(--as-muted);
    line-height: 1.7;
    max-width: 620px;
    margin: 0 auto 3.5rem;
  }
  
  .as-landing__steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
  }
  
  .as-landing__step {
    flex: 1 1 200px;
    max-width: 220px;
    text-align: center;
    padding: 0 0.75rem;
  }
  
  .as-landing__step-num {
    font-family: "Rubik", sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    color: #30363d;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
  }
  
  .as-landing__step-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin: 0 auto 1rem;
    background: color-mix(in srgb, var(--step-color, var(--as-accent)) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--step-color, var(--as-accent)) 30%, transparent);
    color: var(--step-color, var(--as-accent));
  }
  
  .as-landing__step-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
    color: #fff;
  }
  
  .as-landing__step-text {
    font-size: 0.85rem;
    color: var(--as-muted);
    line-height: 1.55;
    margin: 0;
  }
  
  .as-landing__step-arrow {
    display: flex;
    align-items: center;
    padding-top: 2.5rem;
    color: #30363d;
    font-size: 1rem;
    flex-shrink: 0;
  }
  
  @media (max-width: 767px) {
    .as-landing__steps {
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
    }
    .as-landing__step { max-width: 320px; }
    .as-landing__step-arrow {
      transform: rotate(90deg);
      padding-top: 0;
    }
  }
  
  /* ── TOOL SHOWCASE (tabs + panels) ────────────────────────── */
  .as-landing__tools {
    padding: 5rem 0;
    text-align: center;
    border-top: 1px solid var(--as-border);
  }
  
  /* ·· Tab bar ·· */
  .as-landing__tab-track {
    position: relative;
    margin-bottom: 2.5rem;
  }
  
  /* fade-out edges on scroll */
  .as-landing__tab-track::before,
  .as-landing__tab-track::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 32px;
    pointer-events: none;
    z-index: 2;
  }
  .as-landing__tab-track::before {
    left: 0;
    background: linear-gradient(to right, var(--as-bg, #0d1117), transparent);
  }
  .as-landing__tab-track::after {
    right: 0;
    background: linear-gradient(to left, var(--as-bg, #0d1117), transparent);
  }
  
  .as-landing__tab-scroll {
    display: flex;
    gap: 0.4rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 2rem;
    justify-content: center;
  }
  .as-landing__tab-scroll::-webkit-scrollbar { display: none; }
  
  .as-landing__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--as-border);
    background: transparent;
    color: var(--as-muted);
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
  }
  
  .as-landing__tab .bi {
    font-size: 1rem;
  }
  
  .as-landing__tab:hover {
    border-color: color-mix(in srgb, var(--tab-accent, var(--as-accent)) 50%, transparent);
    color: #e6edf3;
    background: color-mix(in srgb, var(--tab-accent, var(--as-accent)) 6%, transparent);
  }
  
  .as-landing__tab--active {
    background: color-mix(in srgb, var(--tab-accent, var(--as-accent)) 14%, transparent);
    border-color: color-mix(in srgb, var(--tab-accent, var(--as-accent)) 45%, transparent);
    color: #fff;
    box-shadow: 0 0 16px color-mix(in srgb, var(--tab-accent, var(--as-accent)) 12%, transparent);
  }
  
  /* ·· Panels ·· */
  .as-landing__panels {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
    text-align: left;
  }
  
  .as-landing__panel {
    display: none;
    animation: as-panel-in 0.35s ease both;
  }
  
  .as-landing__panel--active {
    display: block;
  }
  
  @keyframes as-panel-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  
  .as-landing__panel-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    padding: 2rem;
    border-radius: 16px;
    border: 1px solid var(--as-border);
    background: var(--as-surface);
  }
  
  .as-landing__panel-media {
    width: 100%;
  }
  
  .as-landing__panel-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
  }
  
  .as-landing__panel-img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.5rem;
    color: #30363d;
    border: 1px dashed #30363d;
    background: linear-gradient(135deg,
      color-mix(in srgb, var(--panel-accent, var(--as-accent)) 6%, transparent) 0%,
      rgba(43, 49, 60, 0.08) 100%
    );
  }
  
  .as-landing__panel-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .as-landing__tool-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    width: fit-content;
  }
  
  .as-landing__tool-badge--free {
    background: color-mix(in srgb, #22c55e 14%, transparent);
    border: 1px solid color-mix(in srgb, #22c55e 35%, transparent);
    color: #22c55e;
  }
  
  .as-landing__tool-badge--tokens {
    background: color-mix(in srgb, var(--as-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--as-accent) 35%, transparent);
    color: var(--as-accent);
  }
  
  .as-landing__panel-heading {
    font-family: "Rubik", sans-serif;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0;
    color: #fff;
  }
  
  .as-landing__panel-text {
    font-size: 0.95rem;
    color: var(--as-muted);
    line-height: 1.65;
    margin: 0;
  }
  
  .as-landing__panel-features {
    list-style: none;
    padding: 0;
    margin: 0.25rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
  }
  
  .as-landing__panel-features li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #d1d5db;
  }
  
  .as-landing__panel-features .bi {
    color: var(--panel-accent, var(--as-accent));
    font-size: 0.8rem;
    flex-shrink: 0;
  }
  
  @media (max-width: 767px) {
    .as-landing__tab-scroll {
      justify-content: flex-start;
      padding: 0 1rem;
    }
    .as-landing__panel-inner {
      grid-template-columns: 1fr;
      gap: 1.5rem;
      padding: 1.25rem;
    }
  }
  
  /* ── STUDIO / B2B SECTION ──────────────────────────────────── */
  .as-landing__studio {
    padding: 5rem 0;
    border-top: 1px solid var(--as-border);
  }

  .as-landing__studio-card {
    background: var(--as-surface);
    border: 1px solid var(--as-border);
    border-radius: 16px;
    padding: 2rem 1.5rem;
    height: 100%;
  }

  .as-landing__studio-card h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.5rem;
  }

  .as-landing__studio-card p {
    color: var(--as-muted);
    font-size: 0.92rem;
    line-height: 1.6;
    margin-bottom: 0;
  }

  .as-landing__studio-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 1rem;
    background: color-mix(in srgb, var(--studio-color, #8b5cf6) 15%, transparent);
    color: var(--studio-color, #8b5cf6);
  }

  /* ── BOTTOM CTA ───────────────────────────────────────────── */
  .as-landing__cta-section {
    padding: 5rem 0 6rem;
    border-top: 1px solid var(--as-border);
  }
  
  .as-landing__cta-card {
    position: relative;
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    padding: 3.5rem 2rem;
    border-radius: 20px;
    background: var(--as-surface);
    border: 1px solid var(--as-border);
    overflow: hidden;
  }
  
  .as-landing__cta-glow {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 500px;
    height: 200px;
    background: radial-gradient(
      ellipse at center,
      color-mix(in srgb, var(--as-accent) 14%, transparent) 0%,
      transparent 70%
    );
    pointer-events: none;
    filter: blur(30px);
  }
  
  .as-landing__cta-card h2 {
    position: relative;
    font-family: "Rubik", sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 0.75rem;
    color: #fff;
  }
  
  .as-landing__cta-card p {
    position: relative;
    font-size: 1rem;
    color: var(--as-muted);
    margin: 0 0 2rem;
    line-height: 1.6;
  }
  
  .as-landing__cta-actions {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
  }
  
/* === Asset Studio UX Improvements === */

.studio-model-viewer-wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #0d1117;
  border: 1px solid #2b313c;
}

.studio-model-viewer-wrap .asset-media-stage {
  aspect-ratio: 16 / 9;
  min-height: unset;
}

.studio-version-overlay {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  pointer-events: none; /* Let container pass through clicks, but buttons inside will catch them */
}

.studio-version-pill {
  display: inline-flex;
  align-items: center;
  background: rgba(22, 27, 34, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 30px;
  padding: 4px;
  gap: 4px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  pointer-events: auto; /* Catch clicks on the pill */
}

.studio-version-pill .btn {
  border-radius: 20px !important;
  opacity: 0.8;
  border: none !important;
  padding: 0.35rem 0.8rem;
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.2s ease;
  background: transparent;
  color: #c9d1d9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.studio-version-pill .btn:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.studio-version-pill .btn.active {
  opacity: 1;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.studio-version-pill .btn.btn-info.active, .studio-version-pill .btn.btn-outline-info.active {
  background: rgba(13, 202, 240, 0.25);
  color: #0dcaf0;
}

.studio-version-pill .btn.btn-warning.active, .studio-version-pill .btn.btn-outline-warning.active {
  background: rgba(255, 193, 7, 0.25);
  color: #ffc107;
}

.studio-version-pill .bi-star,
.studio-version-pill .bi-star-fill {
  font-size: 0.75rem;
  margin-left: 6px;
  opacity: 0.7;
}

.studio-version-pill .btn:hover .bi-star,
.studio-version-pill .btn:hover .bi-star-fill,
.studio-version-pill .btn.active .bi-star,
.studio-version-pill .btn.active .bi-star-fill {
  opacity: 1;
}

.studio-version-notify-dot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  background: #e5534b;
  border-radius: 50%;
  border: 1.5px solid rgba(22, 27, 34, 0.75);
  pointer-events: none;
  animation: studio-notify-pulse 2s ease-in-out infinite;
}

@keyframes studio-notify-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.studio-refinement-toolbar {
  background: rgba(33, 38, 45, 0.6);
  border: 1px solid #30363d;
  padding: 0.35rem 0.5rem;
  border-radius: 10px;
}

/* Make refine buttons look slightly more premium than standard buttons */
.studio-btn-refine {
  background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 100%), #161b22;
  border: 1px solid #3d444d !important;
  color: #e6edf3 !important;
  transition: all 0.2s ease;
}

.studio-btn-refine:hover {
  background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.02) 100%), #1f242c;
  border-color: #8b949e !important;
  transform: translateY(-1px);
}

/* ─── Studio Remesh Version Buttons ─── */
.studio-remesh-version-btn {
  background: transparent;
  border: 1px solid #30363d;
  color: #e6edf3;
  transition: border-color 0.15s ease;
}
.studio-remesh-version-btn:hover {
  background: transparent;
  border-color: #fff;
  color: #e6edf3;
}
.studio-remesh-version-btn.studio-remesh-version-active {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
.studio-remesh-version-btn:focus {
  box-shadow: none;
}

/* ═══════════════════════════════════════════════════════════════
   PRICING PAGE
   ═══════════════════════════════════════════════════════════════ */

.pricing-page {
  overflow-x: clip;
}

/* ─── Hero ─── */
.pricing-hero {
  position: relative;
  padding: calc(var(--site-header-h, 0px) + 5rem) 0 3rem;
  text-align: center;
}

.pricing-hero__glow {
  position: absolute;
  width: 600px;
  height: 600px;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(38,166,154,0.15) 0%, rgba(99,102,241,0.08) 40%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}

.pricing-hero__headline {
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 1.25rem;
}

.pricing-hero__subtext {
  font-size: 1.125rem;
  color: #9ca3af;
  line-height: 1.6;
  max-width: 520px;
  margin: 0 auto;
}

/* ─── Plans section ─── */
.pricing-plans {
  padding: 1rem 0 2rem;
}

/* ─── Token grid ─── */
.pricing-tokens-section {
  padding: 4rem 0;
}

.pricing-section-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
}

.pricing-token-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.pricing-token-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(160deg, rgba(255,255,255,0.03) 0%, rgba(24,24,24,0.8) 100%);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.pricing-token-card:hover {
  transform: translateY(-3px);
}

.pricing-token-card--teal  { --_pc-accent: var(--home-color-create); }
.pricing-token-card--indigo { --_pc-accent: var(--home-color-generate); }
.pricing-token-card--violet { --_pc-accent: var(--home-color-feature); }
.pricing-token-card--sky    { --_pc-accent: var(--home-color-explore); }
.pricing-token-card--free   { --_pc-accent: #6b7280; }

.pricing-token-card--teal:hover,
.pricing-token-card--indigo:hover,
.pricing-token-card--violet:hover,
.pricing-token-card--sky:hover {
  border-color: color-mix(in srgb, var(--_pc-accent) 40%, transparent);
  box-shadow: 0 4px 20px color-mix(in srgb, var(--_pc-accent) 10%, transparent);
}

.pricing-token-card--free:hover {
  border-color: rgba(255,255,255,0.15);
}

.pricing-token-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--_pc-accent) 14%, transparent);
  color: var(--_pc-accent);
  flex-shrink: 0;
}

.pricing-token-card__body {
  flex: 1;
}

.pricing-token-card__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0.25rem;
}

.pricing-token-card__desc {
  font-size: 0.8rem;
  color: #9ca3af;
  margin-bottom: 0;
  line-height: 1.45;
}

.pricing-token-card__cost {
  font-size: 0.85rem;
  color: var(--_pc-accent);
  font-weight: 600;
  padding-top: 0.25rem;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.pricing-token-card__cost--free {
  color: #22c55e;
}

/* ─── Momentum Mode callout ─── */
.pricing-momentum {
  padding: 2rem 0 4rem;
}

.pricing-momentum__card {
  position: relative;
  padding: 2.5rem;
  border-radius: 16px;
  border: 1px solid rgba(99,102,241,0.25);
  background: linear-gradient(160deg, rgba(99,102,241,0.06) 0%, rgba(24,24,24,0.9) 100%);
  overflow: hidden;
}

.pricing-momentum__glow {
  position: absolute;
  width: 400px;
  height: 400px;
  top: -150px;
  right: -100px;
  background: radial-gradient(circle, rgba(99,102,241,0.12) 0%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
}

.pricing-momentum__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: rgba(99,102,241,0.14);
  color: #a5b4fc;
  border: 1px solid rgba(99,102,241,0.3);
  margin-bottom: 1rem;
}

.pricing-momentum__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.75rem;
}

.pricing-momentum__example {
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
}

.pricing-momentum__example-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  font-size: 0.9rem;
}

.pricing-momentum__example-divider {
  height: 1px;
  background: rgba(255,255,255,0.06);
}

/* ─── Trust & FAQ ─── */
.pricing-faq {
  padding: 4rem 0;
}

.pricing-trust-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.pricing-trust-item {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.pricing-trust-item > i {
  font-size: 1.25rem;
  margin-top: 0.1rem;
  flex-shrink: 0;
}

.pricing-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pricing-faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pricing-faq-item:first-child {
  border-top: 1px solid rgba(255,255,255,0.08);
}

.pricing-faq-question {
  padding: 1rem 0;
  font-weight: 600;
  color: #e5e7eb;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  transition: color 0.15s ease;
}

.pricing-faq-question:hover {
  color: #fff;
}

.pricing-faq-question::-webkit-details-marker {
  display: none;
}

.pricing-faq-question::after {
  content: "\F282";
  font-family: "bootstrap-icons";
  font-size: 0.85rem;
  color: #6b7280;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

.pricing-faq-item[open] > .pricing-faq-question::after {
  transform: rotate(180deg);
}

.pricing-faq-answer {
  color: #9ca3af;
  font-size: 0.9rem;
  line-height: 1.65;
  padding-bottom: 1rem;
  margin: 0;
}

/* ─── Final CTA ─── */
.pricing-final-cta {
  position: relative;
  padding: 4rem 0;
  text-align: center;
}

.pricing-final-cta__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(38,166,154,0.08) 0%, transparent 70%);
  pointer-events: none;
}

.pricing-final-cta__inner {
  position: relative;
  max-width: 550px;
  margin: 0 auto;
}

.pricing-final-cta__headline {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.75rem;
}

.pricing-final-cta__subtext {
  font-size: 1.05rem;
  color: #9ca3af;
  margin-bottom: 1.5rem;
}

.pricing-final-cta__actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

/* ─── Pricing responsive ─── */
@media (max-width: 991px) {
  .pricing-token-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pricing-hero {
    padding: calc(var(--site-header-h, 0px) + 4rem) 0 2rem;
  }
}

@media (max-width: 575px) {
  .pricing-token-grid {
    grid-template-columns: 1fr;
  }

  .pricing-hero {
    padding: calc(var(--site-header-h, 0px) + 3rem) 0 1.5rem;
  }

  .pricing-hero__glow {
    width: 350px;
    height: 350px;
  }

  .pricing-momentum__card {
    padding: 1.5rem;
  }

  .pricing-final-cta {
    padding: 3rem 0;
  }
}
/ *   = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
       H O M E P A G E   V 3   -   R E F I N E D   C L E A N   L O O K 
 
       = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =   * / 
 
 
 
 : r o o t   { 
 
     - - h o m e - v 3 - b g :   # 0 8 0 8 0 8 ; 
 
     - - h o m e - v 3 - a c c e n t :   # 2 6 a 6 9 a ;   / *   T e a l / G r e e n   * / 
 
     - - h o m e - v 3 - a c c e n t - s o f t :   r g b a ( 3 8 ,   1 6 6 ,   1 5 4 ,   0 . 1 5 ) ; 
 
     - - h o m e - v 3 - c a r d - b g :   t r a n s p a r e n t ; 
 
     - - h o m e - v 3 - b o r d e r :   t r a n s p a r e n t ; 
 
     - - h o m e - v 3 - t e x t - d i m :   # 9 c a 3 a f ; 
 
     
 
     / *   P r i c i n g   S t y l e   G l o w s   * / 
 
     - - g l o w - p r i m a r y :   r a d i a l - g r a d i e n t ( c i r c l e ,   r g b a ( 3 8 , 1 6 6 , 1 5 4 , 0 . 1 8 )   0 % ,   r g b a ( 9 9 , 1 0 2 , 2 4 1 , 0 . 0 8 )   4 0 % ,   t r a n s p a r e n t   7 0 % ) ; 
 
 } 
 
 
 
 . h o m e - v 3   { 
 
     b a c k g r o u n d - c o l o r :   v a r ( - - h o m e - v 3 - b g ) ; 
 
     c o l o r :   # f f f ; 
 
     f o n t - f a m i l y :   - a p p l e - s y s t e m ,   B l i n k M a c S y s t e m F o n t ,   " S e g o e   U I " ,   R o b o t o ,   H e l v e t i c a ,   A r i a l ,   s a n s - s e r i f ; 
 
     o v e r f l o w - x :   h i d d e n ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
 } 
 
 
 
 / *   - - -   H e r o   S e c t i o n   - - -   * / 
 
 . h o m e - v 3 - h e r o   { 
 
     p a d d i n g :   5 r e m   0   4 r e m ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     t e x t - a l i g n :   c e n t e r ; 
 
     / *   o v e r f l o w :   h i d d e n ;   - -   R e m o v e d   t o   p r e v e n t   g l o w   c u t o f f   * / 
 
 } 
 
 
 
 . h o m e - v 3 - h e r o _ _ g l o w   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     w i d t h :   1 0 0 0 p x ; 
 
     h e i g h t :   7 0 0 p x ; 
 
     t o p :   - 2 0 0 p x ; 
 
     l e f t :   5 0 % ; 
 
     t r a n s f o r m :   t r a n s l a t e X ( - 5 0 % ) ; 
 
     b a c k g r o u n d :   r a d i a l - g r a d i e n t ( c i r c l e ,   r g b a ( 3 8 , 1 6 6 , 1 5 4 , 0 . 2 5 )   0 % ,   r g b a ( 3 8 , 1 6 6 , 1 5 4 , 0 . 1 )   4 0 % ,   t r a n s p a r e n t   7 0 % ) ; 
 
     f i l t e r :   b l u r ( 8 0 p x ) ; 
 
     p o i n t e r - e v e n t s :   n o n e ; 
 
     z - i n d e x :   0 ; 
 
     o p a c i t y :   1 ; 
 
 } 
 
 
 
 . h o m e - v 3 - h e r o _ _ g l o w - o r a n g e   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     w i d t h :   1 2 0 0 p x ; 
 
     h e i g h t :   6 0 0 p x ; 
 
     t o p :   1 0 0 p x ; 
 
     l e f t :   5 0 % ; 
 
     t r a n s f o r m :   t r a n s l a t e X ( - 5 0 % ) ; 
 
     b a c k g r o u n d :   r a d i a l - g r a d i e n t ( c i r c l e ,   r g b a ( 2 4 5 ,   1 5 8 ,   1 1 ,   0 . 0 8 )   0 % ,   t r a n s p a r e n t   7 0 % ) ; 
 
     f i l t e r :   b l u r ( 1 0 0 p x ) ; 
 
     p o i n t e r - e v e n t s :   n o n e ; 
 
     z - i n d e x :   0 ; 
 
 } 
 
 
 
 / *   F l o a t i n g   I c o n s   * / 
 
 . h o m e - v 3 - h e r o _ _ i c o n s   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     t o p :   0 ; 
 
     l e f t :   0 ; 
 
     w i d t h :   1 0 0 % ; 
 
     h e i g h t :   1 0 0 % ; 
 
     p o i n t e r - e v e n t s :   n o n e ; 
 
     z - i n d e x :   1 ; 
 
 } 
 
 
 
 . f l o a t i n g - p l u s   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     f o n t - s i z e :   1 . 2 r e m ; 
 
     o p a c i t y :   0 . 3 ; 
 
     a n i m a t i o n :   f l o a t - p l u s   8 s   i n f i n i t e   e a s e - i n - o u t ; 
 
 } 
 
 
 
 @ k e y f r a m e s   f l o a t - p l u s   { 
 
     0 % ,   1 0 0 %   {   t r a n s f o r m :   t r a n s l a t e Y ( 0 )   r o t a t e ( 0 d e g ) ;   o p a c i t y :   0 . 2 ;   } 
 
     5 0 %   {   t r a n s f o r m :   t r a n s l a t e Y ( - 2 0 p x )   r o t a t e ( 9 0 d e g ) ;   o p a c i t y :   0 . 5 ;   } 
 
 } 
 
 
 
 . h o m e - v 3 - h e r o _ _ b a d g e   { 
 
     d i s p l a y :   i n l i n e - b l o c k ; 
 
     p a d d i n g :   0 . 5 r e m   1 r e m ; 
 
     b a c k g r o u n d :   v a r ( - - h o m e - v 3 - a c c e n t - s o f t ) ; 
 
     b o r d e r - r a d i u s :   1 0 0 p x ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     f o n t - s i z e :   0 . 7 5 r e m ; 
 
     f o n t - w e i g h t :   7 0 0 ; 
 
     l e t t e r - s p a c i n g :   0 . 0 5 e m ; 
 
     t e x t - t r a n s f o r m :   u p p e r c a s e ; 
 
     m a r g i n - b o t t o m :   2 r e m ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     z - i n d e x :   2 ; 
 
 } 
 
 
 
 . h o m e - v 3 - h e r o _ _ t i t l e   { 
 
     f o n t - s i z e :   c l a m p ( 2 . 5 r e m ,   8 v w ,   4 . 2 r e m ) ; 
 
     f o n t - w e i g h t :   8 5 0 ; 
 
     l i n e - h e i g h t :   1 . 0 5 ; 
 
     l e t t e r - s p a c i n g :   - 0 . 0 4 e m ; 
 
     m a r g i n - b o t t o m :   1 . 5 r e m ; 
 
     m a x - w i d t h :   9 0 0 p x ; 
 
     m a r g i n - l e f t :   a u t o ; 
 
     m a r g i n - r i g h t :   a u t o ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     z - i n d e x :   2 ; 
 
 } 
 
 
 
 . h o m e - v 3 - h e r o _ _ s u b t i t l e   { 
 
     f o n t - s i z e :   1 . 1 5 r e m ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - t e x t - d i m ) ; 
 
     m a x - w i d t h :   6 5 0 p x ; 
 
     m a r g i n :   0   a u t o   3 r e m ; 
 
     l i n e - h e i g h t :   1 . 6 ; 
 
     f o n t - w e i g h t :   4 5 0 ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     z - i n d e x :   2 ; 
 
 } 
 
 
 
 . h o m e - v 3 - h e r o _ _ c t a   { 
 
     d i s p l a y :   f l e x ; 
 
     g a p :   1 r e m ; 
 
     j u s t i f y - c o n t e n t :   c e n t e r ; 
 
     a l i g n - i t e m s :   c e n t e r ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     z - i n d e x :   2 ; 
 
 } 
 
 
 
 / *   - - -   P i p e l i n e   S e c t i o n   - - -   * / 
 
 . h o m e - p i p e l i n e   { 
 
     p a d d i n g :   4 r e m   0 ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d s   { 
 
     d i s p l a y :   f l e x ; 
 
     j u s t i f y - c o n t e n t :   c e n t e r ; 
 
     a l i g n - i t e m s :   s t r e t c h ; 
 
     g a p :   0 ; 
 
 } 
 
 
 
 @ m e d i a   ( m a x - w i d t h :   9 9 2 p x )   { 
 
     . h o m e - p i p e l i n e - c a r d s   { 
 
         f l e x - d i r e c t i o n :   c o l u m n ; 
 
         t e x t - a l i g n :   c e n t e r ; 
 
         a l i g n - i t e m s :   c e n t e r ; 
 
     } 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d   { 
 
     b a c k g r o u n d :   t r a n s p a r e n t ; 
 
     p a d d i n g :   2 . 5 r e m   2 r e m ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     t r a n s i t i o n :   a l l   0 . 4 s   e a s e ; 
 
     f l e x :   1 ; 
 
     m a x - w i d t h :   3 8 0 p x ; 
 
     d i s p l a y :   f l e x ; 
 
     f l e x - d i r e c t i o n :   c o l u m n ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d _ _ s t e p   { 
 
     f o n t - s i z e :   0 . 8 r e m ; 
 
     f o n t - w e i g h t :   8 0 0 ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     m a r g i n - b o t t o m :   1 r e m ; 
 
     o p a c i t y :   0 . 6 ; 
 
     l e t t e r - s p a c i n g :   0 . 1 e m ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d _ _ i c o n   { 
 
     f o n t - s i z e :   2 . 5 r e m ; 
 
     c o l o r :   # f f f ; 
 
     m a r g i n - b o t t o m :   1 . 5 r e m ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d _ _ t i t l e   { 
 
     f o n t - s i z e :   1 . 5 r e m ; 
 
     f o n t - w e i g h t :   7 0 0 ; 
 
     m a r g i n - b o t t o m :   1 r e m ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d _ _ t e x t   { 
 
     f o n t - s i z e :   1 r e m ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - t e x t - d i m ) ; 
 
     l i n e - h e i g h t :   1 . 6 ; 
 
     m a r g i n - b o t t o m :   2 r e m ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d _ _ l i n k   { 
 
     c o l o r :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     t e x t - d e c o r a t i o n :   n o n e ; 
 
     f o n t - w e i g h t :   7 0 0 ; 
 
     f o n t - s i z e :   0 . 9 5 r e m ; 
 
     m a r g i n - t o p :   a u t o ; 
 
 } 
 
 
 
 . h o m e - p i p e l i n e - c a r d _ _ c o n n e c t o r   { 
 
     d i s p l a y :   f l e x ; 
 
     a l i g n - i t e m s :   c e n t e r ; 
 
     c o l o r :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 0 5 ) ; 
 
     p a d d i n g :   0   0 . 5 r e m ; 
 
     f o n t - s i z e :   1 . 5 r e m ; 
 
 } 
 
 
 
 @ m e d i a   ( m a x - w i d t h :   9 9 2 p x )   { 
 
     . h o m e - p i p e l i n e - c a r d _ _ c o n n e c t o r   {   d i s p l a y :   n o n e ;   } 
 
 } 
 
 
 
 / *   - - -   F e a t u r e s   S e c t i o n   - - -   * / 
 
 . h o m e - v 3 - f e a t u r e s   { 
 
     p a d d i n g :   3 r e m   0 ; 
 
 } 
 
 
 
 . h o m e - v 3 - f e a t u r e s _ _ g r i d   { 
 
     d i s p l a y :   g r i d ; 
 
     g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( 3 ,   1 f r ) ; 
 
     g a p :   2 r e m ; 
 
 } 
 
 
 
 @ m e d i a   ( m a x - w i d t h :   9 9 2 p x )   { 
 
     . h o m e - v 3 - f e a t u r e s _ _ g r i d   {   g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( 2 ,   1 f r ) ;   } 
 
 } 
 
 @ m e d i a   ( m a x - w i d t h :   6 0 0 p x )   { 
 
     . h o m e - v 3 - f e a t u r e s _ _ g r i d   {   g r i d - t e m p l a t e - c o l u m n s :   1 f r ;   } 
 
 } 
 
 
 
 . h o m e - v 3 - f e a t u r e - i t e m   { 
 
     p a d d i n g :   2 r e m ; 
 
     t e x t - a l i g n :   c e n t e r ; 
 
 } 
 
 
 
 . h o m e - v 3 - f e a t u r e - i t e m _ _ i c o n   { 
 
     f o n t - s i z e :   2 r e m ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     m a r g i n - b o t t o m :   1 . 5 r e m ; 
 
 } 
 
 
 
 . h o m e - v 3 - f e a t u r e - i t e m _ _ t i t l e   { 
 
     f o n t - s i z e :   1 . 2 5 r e m ; 
 
     f o n t - w e i g h t :   7 0 0 ; 
 
     m a r g i n - b o t t o m :   0 . 7 5 r e m ; 
 
 } 
 
 
 
 . h o m e - v 3 - f e a t u r e - i t e m _ _ d e s c   { 
 
     f o n t - s i z e :   1 r e m ; 
 
     c o l o r :   v a r ( - - h o m e - v 3 - t e x t - d i m ) ; 
 
     l i n e - h e i g h t :   1 . 6 ; 
 
 } 
 
 
 
 / *   - - -   M a d e   w i t h   C r a t e y a r d   /   S h o w c a s e   - - -   * / 
 
 . h o m e - v 3 - s h o w c a s e   { 
 
     p a d d i n g :   8 r e m   0 ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
 } 
 
 
 
 . s e c t i o n - g l o w   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     t o p :   5 0 % ; 
 
     l e f t :   5 0 % ; 
 
     t r a n s f o r m :   t r a n s l a t e ( - 5 0 % ,   - 5 0 % ) ; 
 
     w i d t h :   1 0 0 0 p x ; 
 
     h e i g h t :   6 0 0 p x ; 
 
     b a c k g r o u n d :   r a d i a l - g r a d i e n t ( c i r c l e ,   r g b a ( 3 8 ,   1 6 6 ,   1 5 4 ,   0 . 1 2 )   0 % ,   t r a n s p a r e n t   7 0 % ) ; 
 
     p o i n t e r - e v e n t s :   n o n e ; 
 
     z - i n d e x :   0 ; 
 
     f i l t e r :   b l u r ( 8 0 p x ) ; 
 
 } 
 
 
 
 . s h o w c a s e - s c r o l l - c o n t a i n e r   { 
 
     d i s p l a y :   f l e x ; 
 
     g a p :   1 . 5 r e m ; 
 
     o v e r f l o w - x :   a u t o ; 
 
     p a d d i n g :   1 r e m   0   2 r e m ; 
 
     s c r o l l b a r - w i d t h :   n o n e ;   / *   F i r e f o x   * / 
 
     - m s - o v e r f l o w - s t y l e :   n o n e ;     / *   I E   a n d   E d g e   * / 
 
     c u r s o r :   g r a b ; 
 
     s c r o l l - b e h a v i o r :   s m o o t h ; 
 
     u s e r - s e l e c t :   n o n e ; 
 
 } 
 
 
 
 . s h o w c a s e - s c r o l l - c o n t a i n e r : : - w e b k i t - s c r o l l b a r   { 
 
     d i s p l a y :   n o n e ;   / *   C h r o m e ,   S a f a r i ,   O p e r a   * / 
 
 } 
 
 
 
 . s h o w c a s e - s c r o l l - c o n t a i n e r . a c t i v e   { 
 
     c u r s o r :   g r a b b i n g ; 
 
     s c r o l l - b e h a v i o r :   a u t o ; 
 
 } 
 
 
 
 . s h o w c a s e - i t e m   { 
 
     f l e x :   0   0   2 6 0 p x ;   / *   S m a l l e r   t h u m b n a i l s   * / 
 
     m i n - w i d t h :   2 6 0 p x ; 
 
 } 
 
 
 
 . s h o w c a s e - t h u m b n a i l - w r a p p e r   { 
 
     a s p e c t - r a t i o :   1 ; 
 
     b o r d e r - r a d i u s :   2 0 p x ; 
 
     o v e r f l o w :   h i d d e n ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
     b o r d e r :   1 p x   s o l i d   r g b a ( 2 5 5 , 2 5 5 , 2 5 5 , 0 . 0 8 ) ; 
 
     t r a n s i t i o n :   a l l   0 . 5 s   c u b i c - b e z i e r ( 0 . 1 6 ,   1 ,   0 . 3 ,   1 ) ; 
 
 } 
 
 
 
 . s h o w c a s e - i m g   { 
 
     w i d t h :   1 0 0 % ; 
 
     h e i g h t :   1 0 0 % ; 
 
     o b j e c t - f i t :   c o v e r ; 
 
     t r a n s i t i o n :   t r a n s f o r m   0 . 6 s   e a s e ; 
 
 } 
 
 
 
 . g r o u p : h o v e r   . s h o w c a s e - i m g   { 
 
     t r a n s f o r m :   s c a l e ( 1 . 1 ) ; 
 
 } 
 
 
 
 . g r o u p : h o v e r   . s h o w c a s e - t h u m b n a i l - w r a p p e r   { 
 
     t r a n s f o r m :   t r a n s l a t e Y ( - 8 p x ) ; 
 
     b o r d e r - c o l o r :   r g b a ( 3 8 ,   1 6 6 ,   1 5 4 ,   0 . 4 ) ; 
 
     b o x - s h a d o w :   0   2 0 p x   4 0 p x   r g b a ( 0 , 0 , 0 , 0 . 4 ) ,   0   0   2 0 p x   r g b a ( 3 8 ,   1 6 6 ,   1 5 4 ,   0 . 1 ) ; 
 
 } 
 
 
 
 . s h o w c a s e - n a v - b t n   { 
 
     w i d t h :   3 6 p x ; 
 
     h e i g h t :   3 6 p x ; 
 
     d i s p l a y :   f l e x ; 
 
     a l i g n - i t e m s :   c e n t e r ; 
 
     j u s t i f y - c o n t e n t :   c e n t e r ; 
 
     b o r d e r - r a d i u s :   5 0 % ; 
 
     p a d d i n g :   0 ; 
 
     b o r d e r - c o l o r :   r g b a ( 2 5 5 , 2 5 5 , 2 5 5 , 0 . 1 ) ; 
 
 } 
 
 
 
 . s h o w c a s e - n a v - b t n : h o v e r   { 
 
     b a c k g r o u n d :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     b o r d e r - c o l o r :   v a r ( - - h o m e - v 3 - a c c e n t ) ; 
 
     c o l o r :   # 0 0 0 ; 
 
 } 
 
 
 
 / *   - - -   P r i c i n g   S t r i p   - - -   * / 
 
 . h o m e - p r i c i n g - s t r i p   { 
 
     p a d d i n g :   3 r e m   0 ; 
 
     t e x t - a l i g n :   c e n t e r ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
 } 
 
 
 
 . p r i c i n g - s t r i p - g l o w   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     t o p :   5 0 % ; 
 
     l e f t :   5 0 % ; 
 
     t r a n s f o r m :   t r a n s l a t e ( - 5 0 % ,   - 5 0 % ) ; 
 
     w i d t h :   8 0 0 p x ; 
 
     h e i g h t :   4 0 0 p x ; 
 
     b a c k g r o u n d :   v a r ( - - g l o w - p r i m a r y ) ; 
 
     f i l t e r :   b l u r ( 6 0 p x ) ; 
 
     p o i n t e r - e v e n t s :   n o n e ; 
 
     z - i n d e x :   0 ; 
 
     o p a c i t y :   0 . 6 ; 
 
 } 
 
 
 
 / *   - - -   F i n a l   C T A   &   B o t t o m   G l o w   - - -   * / 
 
 . h o m e - v 3 - v a l u e   { 
 
         p a d d i n g :   2 r e m   0   5 r e m ; 
 
     t e x t - a l i g n :   c e n t e r ; 
 
     p o s i t i o n :   r e l a t i v e ; 
 
 } 
 
 
 
 . h o m e - v 3 - b o t t o m - g l o w   { 
 
     p o s i t i o n :   a b s o l u t e ; 
 
     b o t t o m :   0 ; 
 
     l e f t :   5 0 % ; 
 
     t r a n s f o r m :   t r a n s l a t e X ( - 5 0 % ) ; 
 
     w i d t h :   1 0 0 v w ; 
 
     h e i g h t :   8 0 0 p x ; 
 
     b a c k g r o u n d :   r a d i a l - g r a d i e n t ( c i r c l e   a t   b o t t o m   c e n t e r ,   r g b a ( 3 8 ,   1 6 6 ,   1 5 4 ,   0 . 2 )   0 % ,   r g b a ( 9 9 , 1 0 2 , 2 4 1 , 0 . 0 5 )   4 0 % ,   t r a n s p a r e n t   8 0 % ) ; 
 
     p o i n t e r - e v e n t s :   n o n e ; 
 
     z - i n d e x :   0 ; 
 
     f i l t e r :   b l u r ( 1 0 0 p x ) ; 
 
 } 
 
 
 
 / *   - - -   U t i l s   - - -   * / 
 
 . t e x t - g r a d i e n t   { 
 
     b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # f f f   0 % ,   # a a a   1 0 0 % ) ; 
 
     - w e b k i t - b a c k g r o u n d - c l i p :   t e x t ; 
 
     - w e b k i t - t e x t - f i l l - c o l o r :   t r a n s p a r e n t ; 
 
 } 
 
 
 
 . t r a c k i n g - w i d e r   {   l e t t e r - s p a c i n g :   0 . 1 e m ;   } 
 
 . s m a l l e r   {   f o n t - s i z e :   0 . 7 5 r e m ;   } 
 
 . f w - 8 5 0   {   f o n t - w e i g h t :   8 5 0 ;   } 
 
 . f w - 9 0 0   {   f o n t - w e i g h t :   9 0 0 ;   } 
 
 /* ==========================================================================
   FLOATING ASCII BACKGROUND
   ========================================================================== */
.floating-ascii-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.floating-ascii {
  position: absolute;
  color: #fff;
  font-family: monospace;
  user-select: none;
  will-change: transform, opacity;
}

@keyframes float-drift-a {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(30px, -50px); }
  50%  { transform: translate(-20px, -90px); }
  75%  { transform: translate(40px, -40px); }
  100% { transform: translate(0, 0); }
}

@keyframes float-drift-b {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-40px, 30px); }
  50%  { transform: translate(25px, 70px); }
  75%  { transform: translate(-15px, 20px); }
  100% { transform: translate(0, 0); }
}

@keyframes float-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.4; }
}

/* ==========================================================================
   WORKSHOP PAGINATION
   ========================================================================== */
.workshop-pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 3rem;
  margin-bottom: 2rem;
}

.workshop-page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #1a1a1a;
  border: 1px solid #333;
  color: #999;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
}

.workshop-page-link:hover {
  background: #2a2a2a;
  border-color: var(--home-v3-accent);
  color: #fff;
}

.workshop-page-link.active {
  background: var(--home-v3-accent);
  border-color: var(--home-v3-accent);
  color: #000;
}

.workshop-page-link.disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* ===== Floating ASCII Background ===== */
.floating-ascii-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.floating-ascii {
  position: absolute;
  color: #fff;
  font-family: monospace;
  user-select: none;
  will-change: transform, opacity;
}

@keyframes float-drift-a {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(30px, -50px); }
  50%  { transform: translate(-20px, -90px); }
  75%  { transform: translate(40px, -40px); }
  100% { transform: translate(0, 0); }
}

@keyframes float-drift-b {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-40px, 30px); }
  50%  { transform: translate(25px, 70px); }
  75%  { transform: translate(-15px, 20px); }
  100% { transform: translate(0, 0); }
}

@keyframes float-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.3; }
}
