
.demos-main {
  --demos-navy: #0d1a30;
  --demos-surface: #07111f;
  --demos-muted: #c5d1e1;
  --demos-border: rgba(255, 255, 255, .16);
  --demos-accent: #ffb454;
  background: var(--demos-surface);
  color: #fff;
  font-family: var(--ll-font-body);
  font-size: 1.0625rem;
}
.demos-main *, .demos-main *::before, .demos-main *::after { box-sizing: border-box; }
.demos-wrap { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.demos-main [hidden] { display: none !important; }
.demos-main section[id] { scroll-margin-top: 100px; }
.demos-main h1, .demos-main h2, .demos-main h3 { font-family: var(--ll-font-heading); color: inherit; }
.demos-main p { margin: 0; line-height: 1.65; }
.demos-main a:focus-visible, .demos-main button:focus-visible { outline: 3px solid var(--demos-accent); outline-offset: 5px; }
.demos-eyebrow { color: var(--demos-accent); font-size: .8125rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.demos-hero { padding: 146px 0 58px; background: radial-gradient(circle at 80% 20%, rgba(42,92,170,.24), transparent 40%), linear-gradient(115deg, #07111f, #0d1a30); }
.demos-main h1 { font-size: clamp(2.65rem, 5vw, 4rem); line-height: 1.1; letter-spacing: -.035em; margin: 18px 0 24px; }
.demos-main h1 span { color: var(--demos-accent); }
.demos-intro { max-width: 57ch; font-size: 1.1875rem; color: #d9e2f0; }
.demos-main .demos-availability { display: flex; align-items: center; gap: 10px; margin-top: 25px; color: var(--demos-muted); font-size: .9375rem; }
.demos-availability span { width: 7px; height: 7px; border-radius: 50%; background: var(--demos-accent); flex-shrink: 0; }
.demos-jump { background: #07111f; border-block: 1px solid var(--demos-border); }
.demos-jump .demos-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.demos-jump a { display: flex; align-items: center; gap: 12px; padding: 23px 18px; color: #fff; font-size: 1rem; font-weight: 650; text-decoration: none; border-right: 1px solid var(--demos-border); }
.demos-jump a:first-child { padding-left: 0; }
.demos-jump a:last-child { border-right: 0; }
.demos-jump-number { font-size: .75rem; color: var(--demos-accent); }
.demos-jump-arrow { color: var(--demos-accent); margin-left: auto; }
.demos-jump a:hover { color: var(--demos-accent); }
.demos-styles { padding: 54px 0 40px; background: #0d1a30; }
.demos-main h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); line-height: 1.2; letter-spacing: -.025em; margin: 0 0 14px; }
.demos-styles-intro > p, .demos-style-comparison p { color: var(--demos-muted); }
.demos-style-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 28px; }
.demos-style-comparison > div { border-left: 2px solid var(--demos-accent); padding-left: 20px; }
.demos-main h3 { font-size: 1.1875rem; line-height: 1.4; margin: 0 0 8px; }
.demos-style-comparison p { max-width: 48ch; }
.demos-filter { display: flex; gap: 18px; align-items: center; margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--demos-border); font-size: .9375rem; color: var(--demos-muted); }
.demos-filter-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.demos-filter button { font: inherit; font-weight: 650; border: 1px solid var(--demos-border); border-radius: 999px; background: transparent; color: #fff; padding: 10px 18px; cursor: pointer; }
.demos-filter button:hover { border-color: var(--demos-accent); }
.demos-filter button[aria-pressed="true"] { background: #e8850c; color: #07111f; border-color: #e8850c; }
.demos-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.demos-channel { padding: 58px 0 64px; border-bottom: 1px solid var(--demos-border); }
.demos-channel:nth-child(even) { background: radial-gradient(circle at 0% 0%, rgba(42,92,170,.14), transparent 45%), #0d1a30; }
.demos-channel-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: end; margin-bottom: 28px; }
.demos-channel-heading h2 { margin: 10px 0 0; }
.demos-channel-heading > p { color: var(--demos-muted); max-width: 46ch; }
.demos-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
.demos-card { min-width: 0; overflow: hidden; border: 1px solid var(--demos-border); border-radius: 12px; background: #10213b; }
.demos-card-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 18px 22px; }
.demos-style { font-size: .875rem; font-weight: 650; }
.demos-status { color: var(--demos-muted); font-size: .75rem; white-space: nowrap; border: 1px solid var(--demos-border); border-radius: 999px; padding: 4px 9px; }
.demos-preview { margin: 0 20px; min-height: 248px; border: 1px dashed rgba(197,209,225,.28); border-radius: 6px; background: #0b1729; }
.demos-preview--ready { min-height: 0; border-style: solid; background: #fff; }
.demos-preview--ready img, .demos-preview--ready video { display: block; max-width: 100%; height: auto; margin-inline: auto; }
.demos-placeholder { min-height: 246px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 28px; }
.demos-placeholder > p { color: var(--demos-muted); font-size: .9375rem; }
.demos-silhouette { width: 152px; height: 96px; padding: 12px; border: 1px solid rgba(197,209,225,.19); border-radius: 5px; display: grid; gap: 8px; opacity: .7; }
.demos-silhouette span { background: rgba(197,209,225,.14); border-radius: 2px; }
.demos-silhouette span:first-child { width: 55%; height: 6px; }
.demos-silhouette span:nth-child(2) { height: 35px; }
.demos-silhouette span:last-child { width: 80%; height: 6px; }
.demos-placeholder--social .demos-silhouette { width: 108px; height: 108px; }
.demos-placeholder--social .demos-silhouette span:nth-child(2) { height: 48px; }
.demos-placeholder--search .demos-silhouette { width: 186px; height: 80px; border: 0; padding: 8px; }
.demos-placeholder--search .demos-silhouette span:first-child { width: 65%; height: 5px; }
.demos-placeholder--search .demos-silhouette span:nth-child(2) { height: 11px; }
.demos-placeholder--search .demos-silhouette span:last-child { width: 100%; height: 18px; }
.demos-placeholder--display .demos-silhouette { width: 176px; height: 84px; grid-template-columns: 1fr 1fr; align-content: center; }
.demos-placeholder--display .demos-silhouette span:first-child { grid-row: span 2; width: 100%; height: 50px; }
.demos-placeholder--display .demos-silhouette span:nth-child(2) { height: 14px; }
.demos-card-caption { padding: 21px 22px 24px; }
.demos-card-caption p { font-size: .9375rem; color: var(--demos-muted); }
.demos-cta { padding: 58px 0; background: #0d1a30; }
.demos-cta .demos-wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.demos-cta p { color: var(--demos-muted); }
.demos-cta .btn-primary { flex-shrink: 0; gap: 12px; font-size: 1rem; padding: 16px 23px; text-decoration: none; }
@media (max-width: 800px) {
  .demos-jump a { gap: 8px; padding: 22px 12px; }
  .demos-jump-number { display: none; }
  .demos-card-heading { padding-inline: 18px; }
  .demos-grid { gap: 20px; }
  .demos-preview { margin-inline: 16px; }
  .demos-style { font-size: .8125rem; }
}
@media (max-width: 620px) {
  .demos-wrap { width: calc(100% - 40px); }
  .demos-hero { padding: 116px 0 40px; }
  .demos-main h1 { font-size: clamp(2.4rem, 8vw, 3.1rem); }
  .demos-intro { font-size: 1.0625rem; }
  .demos-jump .demos-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .demos-jump a { padding: 17px 12px; font-size: .9375rem; }
  .demos-jump a:nth-child(odd) { padding-left: 0; }
  .demos-jump a:nth-child(even) { border-right: 0; }
  .demos-jump a:nth-child(-n+2) { border-bottom: 1px solid var(--demos-border); }
  .demos-styles { padding: 40px 0 30px; }
  .demos-style-comparison, .demos-channel-heading, .demos-grid { grid-template-columns: 1fr; }
  .demos-style-comparison { gap: 22px; }
  .demos-filter { flex-wrap: wrap; gap: 12px; }
  .demos-filter button { padding: 10px 14px; }
  .demos-channel { padding: 40px 0 44px; }
  .demos-channel-heading { gap: 16px; margin-bottom: 24px; }
  .demos-style { font-size: .875rem; }
  .demos-cta { padding: 40px 0; }
  .demos-cta .demos-wrap { flex-direction: column; align-items: flex-start; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .demos-main *, .demos-main *::before, .demos-main *::after { animation: none !important; transition: none !important; }
}
