/* DevArise public landing page
   Final minimal visual system. Loaded last and scoped to .landing-page so the
   organizer/admin product surfaces keep their existing contracts. */

body.landing-page {
  --landing-bg: #ffffff;
  --landing-surface: #f7f7f7;
  --landing-surface-strong: #eeeeee;
  --landing-ink: #111111;
  --landing-text: #3f3f46;
  --landing-muted: #71717a;
  --landing-line: #e4e4e7;
  --landing-control-line: #d4d4d8;
  --landing-accent: #2563eb;
  --landing-accent-hover: #1d4ed8;
  --landing-success: #0f8a63;
  --landing-radius: 3px;
  --landing-max: 1180px;

  margin: 0 !important;
  background: var(--landing-bg) !important;
  color: var(--landing-text) !important;
  font-family: "Inter", "Roboto", "Helvetica Neue", Arial, sans-serif !important;
  font-optical-sizing: auto;
  font-synthesis: none;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html[data-theme="dark"],
html[data-theme="dark"] body.landing-page {
  background: #000000 !important;
}

html[data-theme="dark"] body.landing-page {
  --landing-bg: #000000;
  --landing-surface: #080808;
  --landing-surface-strong: #111111;
  --landing-ink: #f5f5f5;
  --landing-text: #c7c7cc;
  --landing-muted: #929299;
  --landing-line: #1a1a1a;
  --landing-control-line: #292929;
  --landing-accent: #68a7ff;
  --landing-accent-hover: #8bbcff;
  --landing-success: #4fc49c;
}

body.landing-page *,
body.landing-page *::before,
body.landing-page *::after {
  box-sizing: border-box;
}

body.landing-page .container {
  width: min(var(--landing-max), calc(100% - 48px)) !important;
  max-width: var(--landing-max) !important;
  margin-inline: auto !important;
}

body.landing-page h1,
body.landing-page h2,
body.landing-page h3,
body.landing-page h4,
body.landing-page h5,
body.landing-page h6 {
  margin-top: 0;
  color: var(--landing-ink) !important;
  font-family: inherit !important;
  letter-spacing: -0.025em !important;
}

body.landing-page p {
  color: var(--landing-text);
}

body.landing-page a {
  text-underline-offset: 3px;
}

body.landing-page :focus-visible {
  outline: 2px solid var(--landing-accent) !important;
  outline-offset: 3px !important;
}

/* Header */
body.landing-page.cerebras-theme .site-header {
  height: 70px !important;
  min-height: 70px !important;
  padding: 0 !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--landing-line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.landing-page .header-inner {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  min-width: 0 !important;
}

body.landing-page .header-inner > .brand {
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

body.landing-page .brand-logo {
  width: auto !important;
  height: 40px !important;
  max-width: 190px !important;
  max-height: 40px !important;
  object-fit: contain !important;
}

html[data-theme="dark"] body.landing-page .brand-logo {
  filter: brightness(0) invert(1) !important;
}

body.landing-page .desktop-nav {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

body.landing-page .nav-link {
  position: relative;
  padding: 25px 0 23px !important;
  color: var(--landing-muted) !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.landing-page .nav-link::after {
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: var(--landing-accent) !important;
}

body.landing-page .nav-link:hover,
body.landing-page .nav-link.active {
  color: var(--landing-ink) !important;
}

body.landing-page .header-actions {
  gap: 8px !important;
}

/* Buttons */
body.landing-page.cerebras-theme .btn {
  border-radius: var(--landing-radius) !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

body.landing-page.cerebras-theme .btn:hover,
body.landing-page.cerebras-theme .btn:active {
  transform: none !important;
  box-shadow: none !important;
}

body.landing-page.cerebras-theme .btn-primary {
  background: var(--landing-ink) !important;
  border: 1px solid var(--landing-ink) !important;
  color: var(--landing-bg) !important;
}

html[data-theme="dark"] body.landing-page.cerebras-theme .btn-primary {
  background: #f5f5f5 !important;
  border-color: #f5f5f5 !important;
  color: #080808 !important;
}

body.landing-page.cerebras-theme .btn-primary:hover {
  opacity: .9;
}

body.landing-page.cerebras-theme .btn-secondary,
body.landing-page.cerebras-theme .btn-navy {
  background: transparent !important;
  border: 1px solid var(--landing-control-line) !important;
  color: var(--landing-ink) !important;
}

body.landing-page.cerebras-theme .btn-secondary:hover,
body.landing-page.cerebras-theme .btn-navy:hover {
  background: var(--landing-surface) !important;
  border-color: var(--landing-muted) !important;
}

body.landing-page.cerebras-theme .btn-ghost,
body.landing-page.cerebras-theme .btn-text {
  min-height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--landing-accent) !important;
}

body.landing-page.cerebras-theme .btn-ghost:hover,
body.landing-page.cerebras-theme .btn-text:hover {
  background: transparent !important;
  color: var(--landing-accent-hover) !important;
  text-decoration: underline;
}

/* Header controls */
body.landing-page .theme-toggle,
body.landing-page .drawer-close {
  border: 1px solid var(--landing-control-line) !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--landing-ink) !important;
  box-shadow: none !important;
}

body.landing-page .mobile-toggle {
  display: none !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  margin: 0 0 0 auto !important;
  flex: 0 0 44px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  border: 1px solid var(--landing-control-line) !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--landing-ink) !important;
  box-shadow: none !important;
  outline: none !important;
}

body.landing-page .mobile-toggle .hamburger-bar,
body.landing-page .mobile-toggle .hamburger-bar:nth-child(1),
body.landing-page .mobile-toggle .hamburger-bar:nth-child(2),
body.landing-page .mobile-toggle .hamburger-bar:nth-child(3) {
  display: block !important;
  width: 19px !important;
  height: 2px !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
  background: currentColor !important;
  transform: none !important;
  transition: none !important;
}

body.landing-page .mobile-toggle:hover,
body.landing-page .theme-toggle:hover,
body.landing-page .drawer-close:hover {
  background: var(--landing-surface) !important;
}

body.landing-page .mobile-toggle:hover .hamburger-bar {
  background: currentColor !important;
}

/* Hero */
body.landing-page.cerebras-theme .hero.hero-with-carousel {
  position: relative !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 74px 0 70px !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
}

body.landing-page.cerebras-theme .hero.hero-with-carousel::before,
body.landing-page.cerebras-theme .hero.hero-with-carousel::after {
  display: none !important;
  content: none !important;
}

body.landing-page.cerebras-theme .hero .hero-layout {
  position: relative !important;
  width: min(var(--landing-max), calc(100% - 48px)) !important;
  max-width: var(--landing-max) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr) !important;
  gap: clamp(48px, 7vw, 88px) !important;
  align-items: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.landing-page.cerebras-theme .hero .hero-copy {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 !important;
  transform: none !important;
  text-align: left !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-badge-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--landing-muted) !important;
  box-shadow: none !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-badge-spark {
  width: 6px !important;
  height: 6px !important;
  border-radius: 1px !important;
  background: var(--landing-accent) !important;
  box-shadow: none !important;
}

body.landing-page.cerebras-theme .hero .hero-copy h1 {
  max-width: 660px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  color: var(--landing-ink) !important;
  font-size: clamp(2.7rem, 5vw, 4.45rem) !important;
  font-weight: 650 !important;
  line-height: 1.04 !important;
  letter-spacing: -.05em !important;
}

body.landing-page .hero-title-line {
  display: block !important;
}

body.landing-page .hero-accent {
  color: var(--landing-accent) !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-sub {
  max-width: 570px !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  color: var(--landing-text) !important;
  font-size: clamp(1rem, 1.5vw, 1.12rem) !important;
  line-height: 1.68 !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-actions {
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn,
body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn-secondary {
  width: auto !important;
  max-width: none !important;
  min-height: 43px !important;
  height: auto !important;
  padding: 9px 17px !important;
  border: 1px solid var(--landing-ink) !important;
  border-radius: var(--landing-radius) !important;
  background: var(--landing-ink) !important;
  color: var(--landing-bg) !important;
  box-shadow: none !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
}

html[data-theme="dark"] body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn,
html[data-theme="dark"] body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn-secondary {
  background: #f5f5f5 !important;
  border-color: #f5f5f5 !important;
  color: #080808 !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-footnote {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px 20px !important;
  margin: 19px 0 0 !important;
  padding: 0 !important;
  color: var(--landing-muted) !important;
  font-size: .7rem !important;
  line-height: 1.5 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-footnote span {
  position: relative !important;
  padding-left: 12px !important;
}

body.landing-page.cerebras-theme .hero .hero-copy .hero-footnote span::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: var(--landing-success) !important;
  transform: translateY(-50%) !important;
}

body.landing-page .hero-gallery-shell {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 4 / 3 !important;
  background: #050505 !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.landing-page .hero-carousel,
body.landing-page .hero-carousel-viewport {
  position: absolute !important;
  inset: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.landing-page .hero-carousel-viewport {
  min-height: 0 !important;
  background: #000 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body.landing-page .hero-carousel-viewport::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg,
      var(--landing-bg) 0%,
      color-mix(in srgb, var(--landing-bg) 72%, transparent) 2%,
      transparent 7%,
      transparent 93%,
      color-mix(in srgb, var(--landing-bg) 72%, transparent) 98%,
      var(--landing-bg) 100%),
    linear-gradient(180deg,
      var(--landing-bg) 0%,
      color-mix(in srgb, var(--landing-bg) 68%, transparent) 2%,
      transparent 7%,
      transparent 93%,
      color-mix(in srgb, var(--landing-bg) 68%, transparent) 98%,
      var(--landing-bg) 100%) !important;
}

body.landing-page .hero-slide,
body.landing-page .hero-slide img {
  border-radius: 0 !important;
}

body.landing-page .hero-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(.94) brightness(.9) !important;
}

/* Sections */
body.landing-page.cerebras-theme .section,
body.landing-page.cerebras-theme .bg-surface-bordered {
  margin: 0 !important;
  padding: 68px 0 !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.landing-page .section-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin-bottom: 28px !important;
}

body.landing-page .section-title-wrap {
  max-width: 690px !important;
}

body.landing-page .section-title-wrap h2,
body.landing-page .home-philosophy-title,
body.landing-page .home-cta-title {
  margin: 0 0 8px !important;
  color: var(--landing-ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.3rem) !important;
  font-weight: 650 !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
}

body.landing-page .section-title-wrap p,
body.landing-page .home-philosophy-sub,
body.landing-page .home-cta-desc {
  margin: 0 !important;
  color: var(--landing-muted) !important;
  font-size: .96rem !important;
  line-height: 1.7 !important;
}

/* Events: flat rows, no floating cards */
body.landing-page .event-list-vertical {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

body.landing-page.cerebras-theme .event-card {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  padding: 0 0 24px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--landing-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.landing-page.cerebras-theme .event-card:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.landing-page.cerebras-theme .event-card:hover {
  background: transparent !important;
  border-color: var(--landing-line) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.landing-page .event-card-img-wrap {
  width: 210px !important;
  height: 150px !important;
  min-height: 150px !important;
  overflow: hidden !important;
  background: var(--landing-surface) !important;
  border: 0 !important;
  border-radius: 2px !important;
}

body.landing-page .event-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

body.landing-page .event-card-body {
  min-width: 0 !important;
  padding: 1px 0 0 !important;
}

body.landing-page .event-card-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 9px !important;
}

body.landing-page .badge,
body.landing-page .tag {
  padding: 3px 7px !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-size: .65rem !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
}

body.landing-page .tag {
  background: transparent !important;
  border: 1px solid var(--landing-line) !important;
  color: var(--landing-muted) !important;
}

body.landing-page .event-card-title {
  margin-bottom: 7px !important;
  color: var(--landing-ink) !important;
  font-size: 1.15rem !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

body.landing-page .event-card-title a {
  color: var(--landing-ink) !important;
}

body.landing-page .event-card-title a:hover {
  color: var(--landing-accent) !important;
}

body.landing-page .event-card-details,
body.landing-page .event-card-desc,
body.landing-page .event-card-foot,
body.landing-page .event-host,
body.landing-page .event-author {
  color: var(--landing-muted) !important;
}

body.landing-page .event-card-foot {
  margin-top: 12px !important;
  padding-top: 0 !important;
  border: 0 !important;
}

/* Philosophy */
body.landing-page .home-philosophy-wrap {
  max-width: 760px !important;
  margin: 0 0 38px !important;
  text-align: left !important;
}

body.landing-page .philosophy-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 36px !important;
  margin: 0 !important;
}

body.landing-page.cerebras-theme .philosophy-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  text-align: left !important;
}

body.landing-page.cerebras-theme .philosophy-card:hover {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.landing-page.cerebras-theme .philosophy-icon {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 0 13px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--landing-muted) !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  letter-spacing: .1em !important;
}

html[data-theme="dark"] body.landing-page.cerebras-theme .philosophy-icon {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--landing-muted) !important;
}

body.landing-page .philosophy-title {
  margin: 0 0 7px !important;
  color: var(--landing-ink) !important;
  font-size: 1.02rem !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

body.landing-page .philosophy-desc {
  margin: 0 !important;
  color: var(--landing-muted) !important;
  font-size: .9rem !important;
  line-height: 1.65 !important;
}

/* Proof metrics: typography, not cards */
body.landing-page .proof-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 36px !important;
  margin-top: 50px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.landing-page.cerebras-theme .proof-card,
body.landing-page.cerebras-theme .proof-card:first-child,
body.landing-page.cerebras-theme .proof-card:last-child {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.landing-page .proof-number {
  margin: 0 0 4px !important;
  color: var(--landing-ink) !important;
  font-size: clamp(2rem, 4vw, 2.7rem) !important;
  font-weight: 680 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

body.landing-page.cerebras-theme .proof-label,
body.landing-page.cerebras-theme .proof-card:nth-child(2) .proof-label,
body.landing-page.cerebras-theme .proof-card:nth-child(3) .proof-label {
  margin: 0 !important;
  color: var(--landing-muted) !important;
  font-size: .8rem !important;
  font-weight: 520 !important;
  line-height: 1.45 !important;
}

/* Gallery: image-led, borderless */
body.landing-page .gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

body.landing-page.cerebras-theme .album-card {
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.landing-page.cerebras-theme .album-card:hover {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.landing-page .album-cover {
  overflow: hidden !important;
  aspect-ratio: 16 / 10 !important;
  background: var(--landing-surface) !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

body.landing-page .album-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

body.landing-page .album-cover-badge {
  border-radius: 2px !important;
  box-shadow: none !important;
}

body.landing-page .album-info {
  padding: 14px 0 0 !important;
}

body.landing-page .album-info .card-title {
  margin-bottom: 6px !important;
  color: var(--landing-ink) !important;
  font-size: 1rem !important;
  font-weight: 620 !important;
  line-height: 1.4 !important;
}

/* Home gallery: force one coherent card structure instead of inheriting the
   legacy fixed-height album layout. */
body.landing-page #home-gallery-container.gallery-grid {
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}

body.landing-page #home-gallery-container .album-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
}

body.landing-page #home-gallery-container .album-cover {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  border: 0 !important;
  border-radius: 2px !important;
}

body.landing-page #home-gallery-container .album-info {
  width: 100% !important;
  min-width: 0 !important;
  padding: 14px 0 0 !important;
  display: grid !important;
  gap: 7px !important;
}

body.landing-page #home-gallery-container .album-info > * {
  min-width: 0 !important;
}

body.landing-page #home-gallery-container .album-info > .text-muted:first-child {
  margin: 0 !important;
  color: var(--landing-muted) !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

body.landing-page #home-gallery-container .album-info .card-title {
  margin: 0 !important;
  color: var(--landing-ink) !important;
  font-size: 1rem !important;
  line-height: 1.38 !important;
}

body.landing-page #home-gallery-container .album-info p {
  margin: 0 !important;
  color: var(--landing-muted) !important;
  line-height: 1.5 !important;
}

body.landing-page #home-gallery-container .album-info .organization-identity {
  gap: 8px !important;
  vertical-align: middle !important;
}

body.landing-page #home-gallery-container .album-info .organization-logo {
  width: 28px !important;
  height: 28px !important;
  flex-basis: 28px !important;
  border-radius: 3px !important;
}

body.landing-page #home-gallery-container .album-info .btn-ghost {
  justify-self: start !important;
  margin-top: 4px !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
}

/* CTA: whitespace and typography, no banner/card */
body.landing-page.cerebras-theme .home-cta-section {
  margin: 0 !important;
  padding: 72px 0 76px !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.landing-page .home-cta-section .container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "title action"
    "desc action";
  gap: 8px 38px !important;
  align-items: center !important;
}

body.landing-page .home-cta-title {
  grid-area: title;
  max-width: 700px !important;
}

body.landing-page .home-cta-desc {
  grid-area: desc;
  max-width: 650px !important;
}

body.landing-page.cerebras-theme .home-cta-section .btn {
  grid-area: action;
  width: auto !important;
  min-height: 43px !important;
  padding: 9px 17px !important;
  background: var(--landing-ink) !important;
  border: 1px solid var(--landing-ink) !important;
  border-radius: var(--landing-radius) !important;
  color: var(--landing-bg) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.landing-page.cerebras-theme .home-cta-section .btn {
  background: #f5f5f5 !important;
  border-color: #f5f5f5 !important;
  color: #080808 !important;
}

/* Footer */
body.landing-page.cerebras-theme .site-footer {
  margin: 0 !important;
  padding: 48px 0 30px !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.landing-page .footer-inner {
  display: grid !important;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr) !important;
  align-items: start !important;
  gap: 52px !important;
}

body.landing-page .footer-inner .brand-logo {
  height: 38px !important;
  max-height: 38px !important;
}

body.landing-page .footer-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px 26px !important;
  justify-items: start !important;
}

body.landing-page .footer-link {
  color: var(--landing-muted) !important;
  font-size: .875rem !important;
  font-weight: 450 !important;
}

body.landing-page .footer-link:hover {
  color: var(--landing-ink) !important;
}

body.landing-page .footer-copy {
  width: 100% !important;
  margin-top: 38px !important;
  padding-top: 0 !important;
  border: 0 !important;
  color: var(--landing-muted) !important;
  font-size: .78rem !important;
  line-height: 1.65 !important;
}

/* Cookie utility */
body.landing-page .cookie-banner {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  border-top: 1px solid var(--landing-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.landing-page .cookie-banner-inner {
  gap: 20px !important;
}

body.landing-page .cookie-text {
  color: var(--landing-muted) !important;
  font-size: .8rem !important;
}

body.landing-page .cookie-actions {
  gap: 8px !important;
}

body.landing-page .cookie-btn-decline,
body.landing-page .cookie-btn-accept {
  min-height: 35px !important;
  padding: 7px 11px !important;
  border-radius: var(--landing-radius) !important;
  box-shadow: none !important;
  font: 600 .78rem/1.2 inherit !important;
}

body.landing-page .cookie-btn-decline {
  background: transparent !important;
  color: var(--landing-ink) !important;
  border: 1px solid var(--landing-control-line) !important;
}

body.landing-page .cookie-btn-accept {
  background: var(--landing-ink) !important;
  color: var(--landing-bg) !important;
  border: 1px solid var(--landing-ink) !important;
}

html[data-theme="dark"] body.landing-page .cookie-btn-accept {
  background: #f5f5f5 !important;
  color: #080808 !important;
  border-color: #f5f5f5 !important;
}

/* Drawer */
body.landing-page .mobile-drawer-backdrop {
  background: rgba(0, 0, 0, .7) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.landing-page .mobile-drawer {
  width: min(88vw, 340px) !important;
  padding: 20px !important;
  background: var(--landing-bg) !important;
  border: 0 !important;
  border-left: 1px solid var(--landing-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.landing-page .drawer-header,
body.landing-page .drawer-actions {
  border-color: var(--landing-line) !important;
}

body.landing-page .drawer-nav {
  gap: 0 !important;
}

body.landing-page .drawer-nav-link {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--landing-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--landing-text) !important;
  font-weight: 500 !important;
}

body.landing-page .drawer-nav-link:hover,
body.landing-page .drawer-nav-link.active {
  background: transparent !important;
  color: var(--landing-ink) !important;
}

/* Responsive */
@media (max-width: 1024px) {
  body.landing-page .container {
    width: min(var(--landing-max), calc(100% - 36px)) !important;
  }

  body.landing-page.cerebras-theme .hero.hero-with-carousel {
    padding: 54px 0 56px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-layout {
    width: min(var(--landing-max), calc(100% - 36px)) !important;
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy {
    max-width: 720px !important;
  }

  body.landing-page .hero-gallery-shell {
    max-width: 760px !important;
  }

  body.landing-page .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 992px) {
  body.landing-page .desktop-nav,
  body.landing-page .desktop-only-btn,
  body.landing-page .header-actions {
    display: none !important;
  }

  body.landing-page .mobile-toggle {
    display: flex !important;
    order: 3 !important;
  }

  body.landing-page .theme-toggle:not(.drawer-theme-toggle) {
    display: none !important;
  }
}

@media (max-width: 820px) {
  body.landing-page.cerebras-theme .hero .hero-copy {
    margin-inline: auto !important;
    text-align: center !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-badge-pill,
  body.landing-page.cerebras-theme .hero .hero-copy h1,
  body.landing-page.cerebras-theme .hero .hero-copy .hero-sub {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-actions,
  body.landing-page.cerebras-theme .hero .hero-copy .hero-footnote {
    justify-content: center !important;
  }

  body.landing-page .philosophy-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    max-width: 620px !important;
    margin-inline: auto !important;
  }

  body.landing-page.cerebras-theme .philosophy-card {
    text-align: center !important;
  }

  body.landing-page .proof-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    max-width: 520px !important;
    margin: 48px auto 0 !important;
  }

  body.landing-page.cerebras-theme .proof-card,
  body.landing-page.cerebras-theme .proof-card:first-child,
  body.landing-page.cerebras-theme .proof-card:last-child {
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: center !important;
  }
}

@media (max-width: 768px) {
  body.landing-page .container {
    width: calc(100% - 28px) !important;
  }

  body.landing-page.cerebras-theme .site-header {
    height: 64px !important;
    min-height: 64px !important;
  }

  body.landing-page .header-inner {
    width: calc(100% - 28px) !important;
    gap: 12px !important;
  }

  body.landing-page .header-inner > .brand {
    margin-right: auto !important;
  }

  body.landing-page .brand-logo {
    height: 36px !important;
    max-height: 36px !important;
    max-width: 170px !important;
  }

  body.landing-page.cerebras-theme .hero.hero-with-carousel {
    padding: 42px 0 44px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-layout {
    width: calc(100% - 28px) !important;
    gap: 32px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy h1 {
    margin-bottom: 17px !important;
    font-size: clamp(2.3rem, 10.8vw, 3.3rem) !important;
    line-height: 1.04 !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-sub {
    max-width: 36ch !important;
    margin-bottom: 23px !important;
    font-size: .96rem !important;
    line-height: 1.62 !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn,
  body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn-secondary {
    min-width: 164px !important;
    min-height: 42px !important;
  }

  body.landing-page .hero-gallery-shell {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  body.landing-page.cerebras-theme .section,
  body.landing-page.cerebras-theme .bg-surface-bordered {
    padding: 54px 0 !important;
  }

  body.landing-page .section-header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 26px !important;
  }

  body.landing-page.cerebras-theme .event-card {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding-bottom: 22px !important;
  }

  body.landing-page .event-card-img-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
  }

  body.landing-page .event-card-body {
    padding: 0 !important;
  }

  body.landing-page .home-philosophy-wrap {
    margin-inline: auto !important;
    text-align: center !important;
  }

  body.landing-page .gallery-grid,
  body.landing-page #home-gallery-container.gallery-grid {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 42px !important;
  }

  body.landing-page #home-gallery-container .album-card {
    width: 100% !important;
    max-width: none !important;
  }

  body.landing-page #home-gallery-container .album-cover {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  body.landing-page #home-gallery-container .album-info {
    width: 100% !important;
    padding-top: 14px !important;
  }

  body.landing-page.cerebras-theme .home-cta-section {
    padding: 58px 0 64px !important;
  }

  body.landing-page .home-cta-section .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    text-align: center !important;
  }

  body.landing-page .home-cta-title {
    max-width: 620px !important;
  }

  body.landing-page .home-cta-desc {
    max-width: 560px !important;
    margin-bottom: 24px !important;
  }

  body.landing-page.cerebras-theme .home-cta-section .btn {
    width: auto !important;
    min-width: 210px !important;
    padding-inline: 18px !important;
  }

  body.landing-page .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.landing-page .footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 32px !important;
  }

  body.landing-page .cookie-banner-inner {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
}

@media (max-width: 520px) {
  body.landing-page .container {
    width: calc(100% - 24px) !important;
  }

  body.landing-page.cerebras-theme .hero.hero-with-carousel {
    padding: 34px 0 38px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-layout {
    width: calc(100% - 24px) !important;
    gap: 26px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-badge-pill {
    margin-bottom: 15px !important;
    font-size: .66rem !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy h1 {
    margin-bottom: 15px !important;
    font-size: clamp(2.15rem, 11.8vw, 2.75rem) !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-sub {
    margin: 0 auto 21px !important;
    padding: 0 !important;
    font-size: .92rem !important;
    line-height: 1.58 !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-actions {
    width: 100% !important;
    justify-content: center !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn,
  body.landing-page.cerebras-theme .hero .hero-copy .hero-actions .btn-secondary {
    width: auto !important;
    max-width: 220px !important;
    min-width: 160px !important;
    min-height: 41px !important;
    padding: 8px 16px !important;
    border-radius: 3px !important;
  }

  body.landing-page.cerebras-theme .hero .hero-copy .hero-footnote {
    gap: 8px 15px !important;
    margin-top: 16px !important;
    font-size: .64rem !important;
  }

  body.landing-page.cerebras-theme .section,
  body.landing-page.cerebras-theme .bg-surface-bordered {
    padding: 50px 0 !important;
  }

  body.landing-page .section-title-wrap h2,
  body.landing-page .home-philosophy-title,
  body.landing-page .home-cta-title {
    font-size: 1.65rem !important;
  }

  body.landing-page .philosophy-grid {
    gap: 30px !important;
  }

  body.landing-page .proof-grid {
    gap: 30px !important;
    margin-top: 44px !important;
  }

  body.landing-page .proof-number {
    font-size: 2.35rem !important;
  }

  body.landing-page .gallery-grid {
    gap: 30px !important;
  }

  body.landing-page.cerebras-theme .home-cta-section {
    padding: 54px 0 60px !important;
  }

  body.landing-page .footer-nav {
    gap: 14px 24px !important;
  }

  body.landing-page .cookie-actions {
    width: 100% !important;
  }

  body.landing-page .cookie-btn-decline,
  body.landing-page .cookie-btn-accept {
    flex: 1 1 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.landing-page *,
  body.landing-page *::before,
  body.landing-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
