/* Shared product surfaces. Load after restyle on the home, before ami.css on AMI. */

.band-ink,
.band-paper,
.band-teal,
.band-warm {
  background: var(--band-bg) !important;
  color: var(--band-fg);
}

.band-ink {
  --band-bg: var(--ink);
  --band-fg: var(--on-ink);
  --muted: rgba(244, 245, 247, 0.62);
  --dim: rgba(244, 245, 247, 0.42);
  --line: rgba(255, 255, 255, 0.12);
  --text-main: var(--on-ink);
  --text-secondary: rgba(244, 245, 247, 0.72);
  --text-muted: rgba(244, 245, 247, 0.55);
  --band-muted: var(--muted);
  --band-dim: var(--dim);
  --band-line: var(--line);
  --band-accent: var(--teal);
  --band-link: var(--teal);
  --cta-bg: var(--paper);
  --cta-fg: var(--ink);
  --cta-hover: var(--teal);
  --ghost-fg: rgba(244, 245, 247, 0.75);
  --ghost-line: rgba(255, 255, 255, 0.28);
}

.band-paper {
  --band-bg: var(--paper);
  --band-fg: var(--on-paper);
  --muted: rgba(7, 8, 12, 0.66);
  --dim: rgba(7, 8, 12, 0.48);
  --line: rgba(7, 8, 12, 0.14);
  --text-main: var(--on-paper);
  --text-secondary: rgba(7, 8, 12, 0.72);
  --text-muted: rgba(7, 8, 12, 0.55);
  --band-muted: var(--muted);
  --band-dim: var(--dim);
  --band-line: var(--line);
  --band-accent: #0a5c52;
  --band-link: #0a5c52;
  --cta-bg: var(--ink);
  --cta-fg: var(--paper);
  --cta-hover: var(--teal);
  --ghost-fg: rgba(7, 8, 12, 0.72);
  --ghost-line: rgba(7, 8, 12, 0.28);
}

.band-teal {
  --band-bg: var(--teal);
  --band-fg: var(--on-teal);
  --muted: rgba(7, 8, 12, 0.72);
  --dim: rgba(7, 8, 12, 0.55);
  --line: rgba(7, 8, 12, 0.18);
  --text-main: var(--on-teal);
  --text-secondary: rgba(7, 8, 12, 0.78);
  --text-muted: rgba(7, 8, 12, 0.62);
  --band-muted: var(--muted);
  --band-dim: var(--dim);
  --band-line: var(--line);
  --band-accent: var(--ink);
  --band-link: var(--ink);
  --cta-bg: var(--ink);
  --cta-fg: var(--teal);
  --cta-hover: var(--warm);
  --ghost-fg: rgba(7, 8, 12, 0.78);
  --ghost-line: rgba(7, 8, 12, 0.35);
}

.band-warm {
  --band-bg: var(--warm);
  --band-fg: var(--on-warm);
  --muted: rgba(7, 8, 12, 0.72);
  --dim: rgba(7, 8, 12, 0.55);
  --line: rgba(7, 8, 12, 0.18);
  --text-main: var(--on-warm);
  --text-secondary: rgba(7, 8, 12, 0.78);
  --text-muted: rgba(7, 8, 12, 0.62);
  --band-muted: var(--muted);
  --band-dim: var(--dim);
  --band-line: var(--line);
  --band-accent: var(--ink);
  --band-link: var(--ink);
  --cta-bg: var(--ink);
  --cta-fg: var(--warm);
  --cta-hover: var(--teal);
  --ghost-fg: rgba(7, 8, 12, 0.78);
  --ghost-line: rgba(7, 8, 12, 0.35);
}

.wrap {
  width: min(1180px, calc(100% - 2.5rem));
  margin-inline: auto;
}

/* Full-bleed home: section owns the surface, content stays inset */
main#main-content {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cyber-section,
section#hero.cyber-hero.hero-stage {
  padding-left: max(1.25rem, calc((100% - 1180px) / 2)) !important;
  padding-right: max(1.25rem, calc((100% - 1180px) / 2)) !important;
}

section#hero.cyber-hero.hero-stage {
  background: var(--band-bg) !important;
}

.hero-stage__layout {
  max-width: none !important;
}

.hero-stage > .hero-avatar {
  right: max(1.25rem, calc((100% - 1180px) / 2)) !important;
}

.cyber-section {
  border-top: none !important;
  background: var(--band-bg);
}

.cyber-footer.band-ink {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  background: var(--ink) !important;
  border-top: none !important;
  padding: 2.25rem 1.25rem 2.75rem !important;
}

/* Text follows the surface, not the old paper hex */
.band-paper :is(h1, h2, h3, h4, p, li, blockquote, dd, dt, figcaption, label, small),
.band-teal :is(h1, h2, h3, h4, p, li, blockquote, dd, dt, figcaption, label, small),
.band-warm :is(h1, h2, h3, h4, p, li, blockquote, dd, dt, figcaption, label, small),
.band-paper.cyber-section h2.section-title,
.band-teal.cyber-section h2.section-title,
.band-warm.cyber-section h2.section-title,
.band-ink.cyber-section h2.section-title,
.band-paper .section-title,
.band-teal .section-title,
.band-warm .section-title,
.band-paper .section-subtitle,
.band-teal .section-subtitle,
.band-warm .section-subtitle,
.band-paper .about-quote,
.band-teal .about-quote,
.band-warm .about-quote,
.band-paper :is(.software-title, .news-title, .role-title, .social-title, .interest-card h3, .backed-title, .ambiente-title, .investor-title, .product-card__title, .signal-panel__title, .backer-card__title),
.band-teal :is(.software-title, .news-title, .role-title, .social-title, .interest-card h3, .backed-title, .ambiente-title, .investor-title, .product-card__title, .signal-panel__title, .backer-card__title),
.band-warm :is(.software-title, .news-title, .role-title, .social-title, .interest-card h3, .backed-title, .ambiente-title, .investor-title, .product-card__title, .signal-panel__title, .backer-card__title) {
  color: var(--band-fg) !important;
  text-shadow: none !important;
}

.band-paper :is(.section-subtitle, .software-desc, .software-tagline, .product-card__desc, .product-card__tagline, .role-desc, .role-description, .news-desc, .social-desc, .signal-stats dd, .about-quote, .vision-points p),
.band-teal :is(.section-subtitle, .software-desc, .software-tagline, .product-card__desc, .product-card__tagline, .role-desc, .role-description, .news-desc, .social-desc, .signal-stats dd, .about-quote, .vision-points p),
.band-warm :is(.section-subtitle, .software-desc, .software-tagline, .product-card__desc, .product-card__tagline, .role-desc, .role-description, .news-desc, .social-desc, .signal-stats dd, .about-quote, .vision-points p) {
  color: var(--band-muted) !important;
}

.band-teal .vision-lead em,
.band-teal .vision-domains li {
  color: var(--ink) !important;
  background: var(--paper) !important;
}

.band-paper .about-quote,
.band-teal .about-quote,
.band-warm .about-quote {
  border-left-color: var(--band-line) !important;
}

.kicker,
.hero-kicker,
.software-badge,
.tech-tag,
.highlight-cyber {
  color: var(--band-accent) !important;
}

.software-badge,
.tech-tag {
  border-color: var(--band-line) !important;
  background: transparent !important;
}

.band-teal .highlight-cyber,
.band-warm .highlight-cyber {
  color: var(--ink) !important;
  background: var(--paper) !important;
  padding: 0 0.18em !important;
}

/* Links inherit --band-link; never bright teal on paper */
.band-paper a:not(.cta-minimal):not(.btn):not(.software-link):not(.news-link):not(.backed-link):not(.product-card__link),
.about-section a,
#about a {
  color: #0a5c52 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.band-paper a:not(.cta-minimal):not(.btn):hover,
.band-paper a:not(.cta-minimal):not(.btn):focus,
.about-section a:hover,
#about a:hover {
  color: #07080c !important;
}

.cyber-section a:not(.cta-minimal):not(.btn) {
  color: var(--band-link) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.cyber-section a:not(.cta-minimal):not(.btn):hover,
.cyber-section a:not(.cta-minimal):not(.btn):focus {
  color: var(--band-fg) !important;
}

.band-paper .software-link,
.band-paper .software-link.primary,
.band-paper .software-link.secondary,
.band-paper .news-link,
.band-paper .backed-link,
.band-paper .product-card__link,
.software-section.band-paper a.software-link,
.news-section.band-paper a.news-link,
.backed-section.band-paper a.backed-link {
  color: #0a5c52 !important;
  border-bottom-color: rgba(10, 92, 82, 0.35) !important;
  text-decoration: none !important;
}

.band-ink .software-link,
.band-ink .software-link.primary,
.band-ink .news-link,
.band-ink .backed-link,
.band-ink .product-card__link {
  color: var(--teal) !important;
}

/* Hero kicker stays teal on ink — beat the generic .hero-kicker accent rule */
.hero-stage.band-ink .hero-kicker,
section#hero .hero-kicker {
  color: #3dffe0 !important;
  letter-spacing: 0.12em !important;
  opacity: 1 !important;
}

/* Buttons: one language on every surface */
.btn,
.cta-minimal {
  font-family: var(--font-ui, var(--font-main));
  font-weight: 600;
  text-decoration: none;
}

.btn-primary,
.cta-minimal[data-variant="primary"] {
  background: var(--cta-bg) !important;
  color: var(--cta-fg) !important;
  border: 1px solid var(--cta-bg) !important;
  padding: 0.7rem 1.2rem !important;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus,
.cta-minimal[data-variant="primary"]:hover,
.cta-minimal[data-variant="primary"]:focus {
  background: var(--cta-hover) !important;
  border-color: var(--cta-hover) !important;
  color: var(--ink) !important;
}

.btn-ghost,
.cta-minimal[data-variant="ghost"] {
  background: transparent !important;
  color: var(--ghost-fg) !important;
  border: none !important;
  border-bottom: 1px solid var(--ghost-line) !important;
  border-radius: 0 !important;
  padding: 0.35rem 0 !important;
  box-shadow: none !important;
}

.btn-ghost:hover,
.btn-ghost:focus,
.cta-minimal[data-variant="ghost"]:hover,
.cta-minimal[data-variant="ghost"]:focus {
  color: var(--band-fg) !important;
  border-bottom-color: var(--band-fg) !important;
  background: transparent !important;
}

/* Home catalogues as tiles, AMI use-case rhythm */
.software-grid,
.network-grid,
.news-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: var(--band-line) !important;
  border: 1px solid var(--band-line) !important;
  flex-direction: unset !important;
}

.software-grid > .software-card,
.network-grid > .network-card,
.news-list > .news-card {
  background: var(--band-bg) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 1.85rem 1.45rem !important;
  color: var(--band-fg) !important;
  transform: none !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
}

.software-grid > .software-card:hover,
.network-grid > .network-card:hover,
.news-list > .news-card:hover {
  background: color-mix(in srgb, var(--band-fg) 4%, var(--band-bg)) !important;
  border: none !important;
  box-shadow: inset 3px 0 0 var(--band-accent) !important;
  transform: none !important;
}

/* Backers: name roster, not a catalogue of identical tiles */
.backer-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: clamp(2rem, 5vw, 4.5rem) !important;
  row-gap: 0 !important;
  background: transparent !important;
  border: none !important;
  flex-direction: unset !important;
}

.backer-grid > .backer-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.35rem 0 1.15rem !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--band-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--band-fg) !important;
  transform: none !important;
}

.backer-grid > .backer-card:hover {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--band-fg) !important;
  box-shadow: none !important;
  transform: none !important;
}

.backer-card__title {
  margin: 0 !important;
  font-family: var(--font-title) !important;
  font-size: clamp(1.55rem, 2.5vw, 2.15rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
  color: var(--band-fg) !important;
}

.band-paper .backer-card__vehicle,
.band-ink .backer-card__vehicle {
  margin: 0.45rem 0 0 !important;
  font-family: var(--font-ui, var(--font-main)) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  color: var(--band-muted) !important;
}

.band-paper.backers-section .backer-card__vehicle a:not(.cta-minimal):not(.btn):not(.software-link):not(.news-link):not(.backed-link):not(.product-card__link) {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px solid color-mix(in srgb, currentColor 55%, transparent) !important;
}

.band-paper.backers-section .backer-card__vehicle a:not(.cta-minimal):not(.btn):hover,
.band-paper.backers-section .backer-card__vehicle a:not(.cta-minimal):not(.btn):focus {
  color: var(--band-fg) !important;
  border-bottom-color: var(--band-fg) !important;
}

.unified-grid > .product-card,
.backed-grid > .backed-card,
.ambiente-blocks > .ambiente-block,
.investor-blocks > .investor-block {
  padding-top: 1.75rem !important;
  padding-bottom: 1.75rem !important;
}

.product-card__desc,
.backed-desc,
.ambiente-desc,
.investor-desc,
.software-desc,
.role-description,
.news-desc,
.signal-panel__lead {
  max-width: 44ch !important;
  line-height: 1.6 !important;
}

.signal-panel {
  padding-top: 0.5rem !important;
  padding-bottom: 2rem !important;
}

.signal-panel__title {
  font-size: clamp(1.5rem, 3vw, 2.1rem) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.1 !important;
  margin: 0.35rem 0 0.85rem !important;
}

.signal-panel__lead {
  font-size: 1.08rem !important;
  margin-bottom: 1.15rem !important;
}

.signal-panel__links {
  margin-top: 1.5rem !important;
  gap: 1rem 1.5rem !important;
}

.news-card .news-title {
  margin: 0.45rem 0 0.55rem !important;
}

.software-grid > .software-card--featured {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) auto minmax(0, 1.2fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 1.25rem !important;
  row-gap: 0.75rem !important;
  align-items: start !important;
}

.software-grid > .software-card--featured .software-media {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

.software-grid > .software-card--featured .software-header {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
}

.software-grid > .software-card--featured .software-content {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

.software-grid > .software-card--featured .software-actions {
  grid-column: 3 !important;
  grid-row: 2 !important;
}

.software-grid > .software-card:last-child:nth-child(odd),
.network-grid > .network-card:last-child:nth-child(odd),
.news-list > .news-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.software-grid > .software-card--featured:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
}

.software-grid > .software-card--featured:has(.software-media--timing) {
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
}

.software-grid > .software-card--featured:has(.software-media--timing) .software-media {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

.software-grid > .software-card--featured:has(.software-media--timing) .software-header {
  grid-column: 1 !important;
  grid-row: 2 / span 2 !important;
}

.software-grid > .software-card--featured:has(.software-media--timing) .software-content {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.software-grid > .software-card--featured:has(.software-media--timing) .software-actions {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

.software-grid > .software-card--featured .software-actions {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.software-grid > .software-card--featured .software-link {
  flex: 0 0 auto !important;
}

.software-link.primary,
.software-link.secondary,
.news-link,
.backed-link,
.product-card__link {
  color: var(--band-link) !important;
  border-color: var(--band-line) !important;
}

.software-logo-circle {
  width: var(--logo-tile-h, 4.25rem) !important;
  height: var(--logo-tile-h, 4.25rem) !important;
  background: transparent !important;
  border: 1px solid var(--band-line) !important;
  color: var(--band-fg) !important;
  box-shadow: none !important;
}

:is(.product-card, .backed-card, .ambiente-block, .investor-block, .signal-panel, .news-card, .software-card) {
  --logo-tile-w: 8.75rem;
  --logo-tile-h: 4.25rem;
}

.product-card__mono {
  width: var(--logo-tile-w) !important;
  height: var(--logo-tile-h) !important;
  min-width: var(--logo-tile-w);
  background: #fff !important;
  border: 1px solid rgba(7, 8, 12, 0.12) !important;
  color: #07080c !important;
  box-shadow: none !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
}

/* One tile size for every company mark */
.logo-mark,
.project-logo-wrap,
.investor-icon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: var(--logo-tile-w, 8.75rem) !important;
  height: var(--logo-tile-h, 4.25rem) !important;
  min-width: var(--logo-tile-w, 8.75rem);
  min-height: var(--logo-tile-h, 4.25rem) !important;
  max-width: var(--logo-tile-w, 8.75rem) !important;
  padding: 0.55rem 0.7rem !important;
  box-sizing: border-box;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(7, 8, 12, 0.12) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden;
}

.logo-mark--bleed {
  padding: 0 !important;
}

.logo-mark--fill {
  padding: 0.3rem !important;
}

.logo-mark--muted {
  background: #ecece8 !important;
}

.band-paper .logo-mark,
.band-paper .project-logo-wrap,
.band-paper .investor-icon,
.band-teal .logo-mark,
.band-teal .project-logo-wrap,
.band-warm .logo-mark,
.band-warm .project-logo-wrap {
  border-color: rgba(7, 8, 12, 0.16) !important;
}

.logo-mark > a,
.project-logo-wrap > a,
.investor-icon > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.project-logo,
.product-card__logo,
.investor-logo,
.signal-panel__logo,
.news-logo {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
  border-radius: 0 !important;
}

.logo-mark--bleed img,
.logo-mark--fill img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
}

.logo-mark--fill img {
  transform: scale(1.15);
}

a.logo-mark:hover,
.logo-mark:hover,
.project-logo-wrap:hover,
.investor-icon:hover {
  border-color: rgba(7, 8, 12, 0.28) !important;
}

a.logo-mark:focus-visible,
.logo-mark > a:focus-visible,
.project-logo-wrap > a:focus-visible,
.investor-icon > a:focus-visible {
  outline: 2px solid var(--band-accent, var(--teal));
  outline-offset: 3px;
}

.product-card,
.backed-card.neon,
.ambiente-block.neon-border,
.investor-block.neon-border,
.signal-panel,
.news-card.neon {
  display: grid !important;
  grid-template-columns: var(--logo-tile-w) minmax(0, 1fr) !important;
  column-gap: 1.15rem !important;
  row-gap: 0.28rem !important;
  align-items: start !important;
  text-align: left !important;
}

.product-card > .logo-mark,
.product-card > .product-card__mono,
.backed-card > .logo-mark,
.backed-card > .project-logo-wrap,
.ambiente-block > .logo-mark,
.ambiente-block > .project-logo-wrap,
.investor-block > .logo-mark,
.investor-block > .investor-icon,
.signal-panel > .logo-mark,
.news-card > .logo-mark {
  grid-column: 1;
  grid-row: 1 / span 8;
  margin: 0.1rem 0 0 !important;
}

.product-card > :not(.logo-mark):not(.product-card__mono),
.backed-card > :not(.logo-mark):not(.project-logo-wrap),
.ambiente-block > :not(.logo-mark):not(.project-logo-wrap),
.investor-block > :not(.logo-mark):not(.investor-icon),
.signal-panel > :not(.logo-mark),
.news-card > :not(.logo-mark) {
  grid-column: 2;
}

.product-card > .product-card__title,
.backed-card > .backed-title,
.signal-panel > .signal-panel__title,
.ambiente-content .ambiente-title,
.investor-content .investor-title,
.news-card .news-title {
  margin-top: 0.05rem !important;
  margin-bottom: 0.15rem !important;
  line-height: 1.25 !important;
}

.product-card__tagline,
.software-tagline {
  margin: 0 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

.product-card__desc,
.backed-desc,
.ambiente-desc,
.investor-desc,
.news-desc,
.signal-panel__lead {
  margin: 0.2rem 0 0.35rem !important;
  max-width: 42rem;
  line-height: 1.55 !important;
}

.ambiente-content,
.investor-content {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  text-align: left !important;
}

.news-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem 0.7rem !important;
  flex-wrap: wrap !important;
  margin: 0.1rem 0 0.15rem !important;
}

.news-badge,
.news-date {
  font-family: var(--font-ui, var(--font-main)) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.news-badge {
  padding: 0.12rem 0.4rem !important;
  border: 1px solid var(--band-line) !important;
  border-radius: 999px !important;
  color: var(--band-fg) !important;
  background: transparent !important;
}

.news-date {
  color: var(--band-muted) !important;
}

.product-card__link,
.software-link,
.news-link,
.backed-link {
  display: inline-flex !important;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.15rem 0 !important;
}

.oin-member-badge {
  margin-top: 0.85rem !important;
}

.oin-member-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  padding: 0.45rem 0.7rem !important;
  background: #fff !important;
  border: 1px solid rgba(7, 8, 12, 0.1) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
}

.oin-member-text {
  color: #07080c !important;
  font-family: var(--font-ui, var(--font-main)) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.oin-member-logo {
  height: 20px !important;
  width: auto !important;
  max-width: 160px !important;
  filter: none !important;
}

/* AMI media slot + window fallback */
.software-media,
.ami-shot {
  position: relative;
  border: 1px solid var(--band-line);
  background: color-mix(in srgb, var(--band-fg) 3%, var(--band-bg));
  min-height: 180px;
  overflow: hidden;
}

.software-media__shot,
.ami-shot__pic {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  margin: 0;
}

.software-media__shot img,
.ami-shot__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.software-media.is-fallback .software-media__shot,
.ami-shot.is-fallback .ami-shot__pic {
  display: none;
}

.software-media__fallback,
.ami-shot__fallback {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 1.1rem;
}

.ami-window {
  width: min(100%, 320px);
  border: 1px solid var(--band-line);
  background: var(--band-bg);
}

.ami-window__bar {
  display: flex;
  gap: 0.35rem;
  padding: 0.55rem 0.7rem;
  border-bottom: 1px solid var(--band-line);
}

.ami-window__bar span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--band-line);
}

.ami-window__bar span:nth-child(1) { background: var(--warm); }
.ami-window__bar span:nth-child(2) { background: color-mix(in srgb, var(--warm) 55%, var(--paper)); }
.ami-window__bar span:nth-child(3) { background: var(--teal); }

.ami-window__body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.9rem 1rem 1.05rem;
}

.ami-state {
  font-family: var(--font-ui, var(--font-main));
  font-size: 0.82rem;
  color: var(--band-muted);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.ami-state b {
  font-weight: 700;
  color: var(--band-fg);
  width: 1rem;
  text-align: center;
}

.ami-state--ok b { color: #0a5c52; }
.band-ink .ami-state--ok b,
.band-ink .ami-state--ok { color: var(--teal); }
.band-ink .ami-state--ok b { color: var(--teal); }
.ami-state--warn b { color: var(--warm); }
.ami-state--off b { color: var(--band-dim); }

.software-badge {
  font-family: var(--font-ui, var(--font-main)) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.22rem 0.45rem !important;
  border: 1px solid var(--band-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.software-card[data-opensource="true"] .software-badge {
  color: #0a5c52 !important;
  border-color: rgba(10, 92, 82, 0.4) !important;
  background: rgba(10, 92, 82, 0.08) !important;
}

.band-ink .software-card[data-opensource="true"] .software-badge {
  color: var(--teal) !important;
  border-color: rgba(61, 255, 224, 0.35) !important;
  background: rgba(61, 255, 224, 0.08) !important;
}

.software-card[data-private="true"] .software-badge {
  color: var(--warm) !important;
  border-color: rgba(255, 109, 61, 0.45) !important;
  background: rgba(255, 109, 61, 0.1) !important;
}

.software-card[data-legacy="true"] .software-badge {
  color: var(--band-dim) !important;
  border-color: var(--band-line) !important;
  background: transparent !important;
}

.software-card[data-direction="true"] .software-badge {
  color: var(--ink) !important;
  border-color: rgba(7, 8, 12, 0.2) !important;
  background: rgba(7, 8, 12, 0.06) !important;
}

.band-ink .software-card[data-direction="true"] .software-badge {
  color: var(--paper) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.software-media--timing {
  display: flex !important;
  align-items: stretch;
  min-height: 0;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.flow-timing {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  width: 100%;
  border: 1px solid var(--band-line);
  background: color-mix(in srgb, var(--band-fg) 3%, var(--band-bg));
}

.flow-timing > div {
  padding: 1.05rem 1.15rem 1rem;
  border-top: 2px solid var(--band-accent);
  border-right: 1px solid var(--band-line);
}

.flow-timing > div:last-child {
  border-right: none;
}

.flow-timing dt {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--band-fg);
  line-height: 1.1;
}

.flow-timing dd {
  margin: 0.2rem 0 0;
  font-family: var(--font-ui, var(--font-main));
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--band-muted);
}

.flow-callout {
  margin: 1rem 0 0.85rem;
  padding: 0.85rem 0 0.15rem;
  border-top: 1px solid var(--band-line);
}

.flow-callout__result {
  margin: 0 0 0.65rem !important;
  font-family: var(--font-title);
  font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25 !important;
  color: var(--band-fg) !important;
  max-width: 36ch;
}

.flow-callout__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.flow-callout__list li {
  position: relative;
  padding-left: 0.95rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--band-muted);
}

.flow-callout__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--band-accent);
}

.credential-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 1.5rem 0 0;
}

.hero-stage .credential-stack {
  margin: 1.5rem 0 0 !important;
}

.hero-stage .credential-stack .credential-badge {
  margin: 0 !important;
}

@media (max-width: 640px) {
  .product-card,
  .backed-card.neon,
  .ambiente-block.neon-border,
  .investor-block.neon-border,
  .signal-panel,
  .news-card.neon {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 0.35rem !important;
  }

  .product-card > .logo-mark,
  .product-card > .product-card__mono,
  .backed-card > .logo-mark,
  .backed-card > .project-logo-wrap,
  .ambiente-block > .logo-mark,
  .ambiente-block > .project-logo-wrap,
  .investor-block > .logo-mark,
  .investor-block > .investor-icon,
  .signal-panel > .logo-mark,
  .news-card > .logo-mark,
  .product-card > :not(.logo-mark):not(.product-card__mono),
  .backed-card > :not(.logo-mark):not(.project-logo-wrap),
  .ambiente-block > :not(.logo-mark):not(.project-logo-wrap),
  .investor-block > :not(.logo-mark):not(.investor-icon),
  .signal-panel > :not(.logo-mark),
  .news-card > :not(.logo-mark) {
    grid-column: 1;
    grid-row: auto;
  }

  .product-card > .logo-mark,
  .product-card > .product-card__mono,
  .backed-card > .logo-mark,
  .backed-card > .project-logo-wrap,
  .ambiente-block > .logo-mark,
  .ambiente-block > .project-logo-wrap,
  .investor-block > .logo-mark,
  .investor-block > .investor-icon,
  .signal-panel > .logo-mark,
  .news-card > .logo-mark {
    margin: 0 0 0.55rem !important;
  }
}

@media (min-width: 900px) {
  .software-section.cyber-section:not(.ecosystem-section) > .software-grid:not(h2):not(.section-header):not(p) {
    grid-column: 1 / -1 !important;
    margin-top: 1.75rem;
  }

  .backers-section.cyber-section:not(.ecosystem-section) > .backer-grid:not(h2):not(.section-header):not(p) {
    grid-column: 1 / -1 !important;
    margin-top: 1.35rem;
  }
}

@media (max-width: 899px) {
  .software-grid,
  .network-grid,
  .news-list,
  .backer-grid {
    grid-template-columns: 1fr !important;
  }

  .software-grid > .software-card--featured {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }

  .software-grid > .software-card--featured .software-media,
  .software-grid > .software-card--featured .software-header,
  .software-grid > .software-card--featured .software-content,
  .software-grid > .software-card--featured .software-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .flow-timing {
    grid-template-columns: 1fr;
  }

  .flow-timing > div {
    border-right: none;
    border-bottom: 1px solid var(--band-line);
    border-left: 2px solid var(--band-accent);
  }

  .flow-timing > div:last-child {
    border-bottom: none;
  }
}

/* Orbit: teal + warm, no neon glow */
.ecosystem-orbit__pill,
.ecosystem-orbit__satellite,
.ecosystem-orbit__core-orb,
.ecosystem-orbit__detail {
  box-shadow: none !important;
  text-shadow: none !important;
}

.ecosystem-orbit__pill[data-color="core"],
.ecosystem-orbit__pill[data-color="leadership"],
.ecosystem-orbit__pill[data-color="opensource"],
.ecosystem-orbit__satellite[data-color="core"],
.ecosystem-orbit__satellite[data-color="leadership"],
.ecosystem-orbit__satellite[data-color="opensource"],
.ecosystem-orbit__detail[data-color="core"],
.ecosystem-orbit__detail[data-color="leadership"],
.ecosystem-orbit__detail[data-color="opensource"] {
  --pill-color: var(--teal);
  --sat-color: var(--teal);
  --detail-color: var(--teal);
}

.ecosystem-orbit__pill[data-color="innovation"],
.ecosystem-orbit__pill[data-color="entrepreneurship"],
.ecosystem-orbit__satellite[data-color="innovation"],
.ecosystem-orbit__satellite[data-color="entrepreneurship"],
.ecosystem-orbit__detail[data-color="innovation"],
.ecosystem-orbit__detail[data-color="entrepreneurship"] {
  --pill-color: var(--warm);
  --sat-color: var(--warm);
  --detail-color: var(--warm);
}

/* 404 */
.page-404.band-ink {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(1180px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 4rem 0;
  box-sizing: border-box;
}

.page-404 h1 {
  color: var(--teal) !important;
  font-family: var(--font-title);
  font-size: clamp(4rem, 14vw, 8rem);
  letter-spacing: -0.06em;
  line-height: 0.9;
  margin: 0;
}

/* Sober hides canvas, not the bands */
.sober-mode body {
  background: var(--ink) !important;
}

.sober-mode .cyber-section.band-ink,
.sober-mode .cyber-section.band-paper,
.sober-mode .cyber-section.band-teal,
.sober-mode .cyber-section.band-warm,
.sober-mode .cyber-footer.band-ink,
.sober-mode section#hero.band-ink {
  background: var(--band-bg) !important;
  color: var(--band-fg) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.sober-mode .band-ink :is(h1, h2, h3, p, li, span, dd, dt),
.sober-mode .band-paper :is(h1, h2, h3, p, li, span, dd, dt),
.sober-mode .band-teal :is(h1, h2, h3, p, li, span, dd, dt),
.sober-mode .band-warm :is(h1, h2, h3, p, li, span, dd, dt) {
  color: var(--band-fg) !important;
  border-bottom-color: var(--band-line) !important;
}

.sober-mode .band-ink a,
.sober-mode .band-paper a,
.sober-mode .band-teal a,
.sober-mode .band-warm a,
.sober-mode #about a,
.sober-mode .about-section a {
  color: var(--band-link) !important;
}

.sober-mode .cta-minimal[data-variant="primary"],
.sober-mode .btn-primary {
  background: var(--cta-bg) !important;
  color: var(--cta-fg) !important;
  border-color: var(--cta-bg) !important;
}

