/* CC thematic branding — Atlas (atlas) */
:root {
  --cc-accent: #059669;
  --cc-accent-dark: #047857;
  --cc-accent-rgb: 5, 150, 105;
}
html[data-cc-theme="atlas"] {
  scroll-behavior: smooth;
}
body {
  font-family: 'IBM Plex Sans', sans-serif !important;
  position: relative;
}
body > * {
  position: relative;
  z-index: 1;
}
h1, h2, h3, .brand, .wordmark {
  font-family: 'Libre Baskerville', Georgia, serif !important;
}

body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:radial-gradient(1px 1px at 20px 30px, rgba(var(--cc-accent-rgb),.45), transparent),
    radial-gradient(1px 1px at 80px 120px, rgba(var(--cc-accent-rgb),.35), transparent),
    radial-gradient(1px 1px at 160px 60px, rgba(var(--cc-accent-rgb),.4), transparent),
    radial-gradient(1px 1px at 240px 180px, rgba(var(--cc-accent-rgb),.3), transparent);
  background-size:280px 220px;
}

header{
  background:rgba(255,255,255,.94) !important;
  border-bottom:2px solid rgba(var(--cc-accent-rgb),.2) !important;
}
.topline{background:var(--cc-accent-dark) !important;color:#f0f4f2 !important;}
::selection {
  background: rgba(5, 150, 105, 0.18) !important;
}
input[type=email]:focus, input[type=text]:focus, textarea:focus {
  border-color: var(--cc-accent) !important;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.14) !important;
}
.kicker, .kick, .pre, .sec-label, .hero .tag, .hero .over, .cat-no span,
.status-line, .badge {
  color: var(--cc-accent) !important;
}
.hero {
  position: relative;
}
section.alt, .tier {
  background: color-mix(in srgb, var(--cc-accent) 3%, transparent) !important;
}
.cc-waitlist {
  background: #0f1a16 !important;
  border-color: rgba(5, 150, 105, 0.22) !important;
}
.cc-waitlist-label {
  color: rgba(5, 150, 105, 0.85) !important;
}
.cc-waitlist-title {
  color: #f3f4f6 !important;
}
.cc-waitlist-btn {
  background: var(--cc-accent) !important;
  border-color: color-mix(in srgb, var(--cc-accent) 70%, white) !important;
}
.cc-waitlist-btn:hover {
  background: var(--cc-accent-dark) !important;
}
.cc-waitlist-form input:focus {
  outline-color: var(--cc-accent) !important;
}
footer {
  border-top: 1px solid rgba(5, 150, 105, 0.12);
}
footer a:hover {
  color: var(--cc-accent) !important;
}
@media (max-width: 720px) {
  header .bar {
    flex-wrap: nowrap !important;
    gap: 8px 10px !important;
  }
  header .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  header .bar nav {
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
  }
  header .bar > .btn,
  header .bar > a.btn,
  header .bar-actions .btn {
    padding: 8px 12px !important;
    font-size: 12px !important;
    min-height: 44px !important;
  }
  .hero::before, .hero::after {
    display: none;
  }
}
