/* ================================================
   SCIENCE STARS — LAB WHITE THEME
   Pure white, cyan, near-black, bold accents
   ================================================ */

:root {
  --navy:        #ffffff;
  --deep:        #f4f4f4;
  --indigo:      #e8e8e8;
  --gold:        #00b4d8;
  --coral:       #ef233c;
  --mint:        #06d6a0;
  --sky:         #8338ec;
  --white:       #0a0a0a;
  --muted:       #606060;
  --card-bg:     rgba(255,255,255,1.0);
  --card-border: rgba(0,0,0,0.09);

  --accent-primary:   #00b4d8;
  --accent-secondary: #06d6a0;
  --accent-tertiary:  #ef233c;
  --accent-violet:    #8338ec;
  --text-primary:     #0a0a0a;
  --text-muted:       #606060;
  --bg-page:          #ffffff;
  --bg-surface:       #f4f4f4;
  --bg-inset:         #e8e8e8;
  --border-color:     rgba(0,0,0,0.09);
}

body {
  background: #ffffff !important;
  color: #0a0a0a !important;
}

body::before { display: none !important; }

/* ── Nav ── */
nav {
  background: rgba(255,255,255,0.96) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.06) !important;
}
.nav-logo { color: #0a0a0a !important; font-family: 'Bebas Neue', sans-serif !important; letter-spacing: 0.08em !important; }
.nav-logo .star-icon { display: none !important; }
.nav-links a { color: #606060 !important; }
.nav-links a:hover, .nav-links a.active { color: #0a0a0a !important; background: #f4f4f4 !important; }
.nav-links .cta-link a { background: #0a0a0a !important; color: #ffffff !important; border-radius: 4px !important; }
.nav-links .cta-link a:hover { background: #333 !important; }

/* ── Hero ── */
.hero h1 .highlight { color: #00b4d8 !important; }
.hero-sub { color: #606060 !important; }
.hero-quote {
  background: #f4f4f4 !important;
  border-left: 3px solid #00b4d8 !important;
  color: #606060 !important;
  font-style: italic !important;
}

/* ── Stat cards ── */
.stat-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}
.stat-card .stat-value          { color: #00b4d8 !important; }
.stat-card.accent-mint .stat-value  { color: #06d6a0 !important; }
.stat-card.accent-coral .stat-value { color: #ef233c !important; }
.stat-card.accent-sky .stat-value   { color: #8338ec !important; }
.stat-card .stat-label { color: #606060 !important; text-transform: uppercase !important; font-size: 0.72rem !important; letter-spacing: 0.08em !important; }

/* ── Dividers ── */
hr.divider { border-color: rgba(0,0,0,0.07) !important; }

/* ── Section labels ── */
.section-label { color: #00b4d8 !important; }
.section-title { color: #0a0a0a !important; }
.section-subtitle { color: #606060 !important; }

/* ── About / info cards ── */
.about-card, .info-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
}
.about-card h3, .info-card h3 { color: #0a0a0a !important; }
.about-card p, .info-card p { color: #606060 !important; }
.icon-gold  { background: rgba(0,180,216,0.1)  !important; }
.icon-mint  { background: rgba(6,214,160,0.1)  !important; }
.icon-coral { background: rgba(239,35,60,0.08) !important; }
.icon-sky   { background: rgba(131,56,236,0.08)!important; }

/* ── Steps ── */
.steps::before { background: linear-gradient(90deg, #00b4d8, #06d6a0, #ef233c, #8338ec) !important; }
.step-num { background: #ffffff !important; border-color: #00b4d8 !important; color: #00b4d8 !important; font-family: 'Bebas Neue', sans-serif !important; }
.step:nth-child(2) .step-num { border-color: #06d6a0 !important; color: #06d6a0 !important; }
.step:nth-child(3) .step-num { border-color: #ef233c !important; color: #ef233c !important; }
.step:nth-child(4) .step-num { border-color: #8338ec !important; color: #8338ec !important; }
.step h4 { color: #0a0a0a !important; }
.step p  { color: #606060 !important; }

/* ── Season cards ── */
.season-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
}
.season-card.featured {
  border-color: #00b4d8 !important;
  border-width: 1.5px !important;
  background: #ffffff !important;
}
.season-year  { color: #606060 !important; }
.season-title { color: #0a0a0a !important; }
.season-header, .season-stats, .season-stat { border-color: rgba(0,0,0,0.07) !important; }
.s-label { color: #606060 !important; text-transform: uppercase !important; font-size: 0.68rem !important; letter-spacing: 0.08em !important; }
.season-stat:nth-child(1) .s-val { color: #00b4d8 !important; }
.season-stat:nth-child(2) .s-val { color: #06d6a0 !important; }

.badge-new  { background: rgba(0,180,216,0.08) !important; color: #00b4d8 !important; border-color: rgba(0,180,216,0.25) !important; }
.badge-past { background: #f4f4f4 !important; color: #606060 !important; border-color: rgba(0,0,0,0.1) !important; }

.chip-gold    { background: rgba(0,180,216,0.07)  !important; color: #007a9a !important; border-color: rgba(0,180,216,0.2) !important; }
.chip-silver  { background: #f4f4f4 !important; color: #606060 !important; border-color: rgba(0,0,0,0.1) !important; }
.chip-bronze  { background: rgba(239,35,60,0.06)  !important; color: #c01a30 !important; border-color: rgba(239,35,60,0.2) !important; }
.chip-special { background: rgba(131,56,236,0.06) !important; color: #6020c0 !important; border-color: rgba(131,56,236,0.2) !important; }

/* ── Project gallery ── */
.project-img { border-color: rgba(0,0,0,0.08) !important; background: #f4f4f4 !important; }

/* ── CTA ── */
.cta-section {
  background: #f4f4f4 !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
}
.cta-section h2 { color: #0a0a0a !important; }
.cta-section p  { color: #606060 !important; }

/* ── Buttons ── */
.btn-primary       { background: #0a0a0a !important; color: #ffffff !important; border-radius: 4px !important; }
.btn-primary:hover { background: #333 !important; box-shadow: none !important; transform: none !important; }
.btn-secondary     { color: #0a0a0a !important; border-color: rgba(0,0,0,0.2) !important; border-radius: 4px !important; }
.btn-secondary:hover { border-color: #0a0a0a !important; transform: none !important; }
.btn-submit        { background: #0a0a0a !important; color: #ffffff !important; border-radius: 4px !important; }
.btn-submit:hover  { background: #333 !important; box-shadow: none !important; transform: translateY(-1px) !important; }

/* ── Forms ── */
.form-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
.form-card-header {
  background: #f4f4f4 !important;
  border-color: rgba(0,0,0,0.07) !important;
}
.form-card-header h2 { color: #0a0a0a !important; }
.form-card-header p  { color: #606060 !important; }

label      { color: #0a0a0a !important; }
label span { color: #ef233c !important; }
input, textarea, select {
  background: #f9f9f9 !important;
  border-color: rgba(0,0,0,0.12) !important;
  color: #0a0a0a !important;
}
input::placeholder, textarea::placeholder { color: #a0a0a0 !important; }
input:focus, textarea:focus, select:focus { border-color: #00b4d8 !important; }
select option { background: #ffffff !important; color: #0a0a0a !important; }
.checkbox-item span    { color: #606060 !important; }
input[type="checkbox"] { accent-color: #00b4d8 !important; }
.form-note   { color: #606060 !important; }
.form-note a { color: #00b4d8 !important; }

/* ── Page badges ── */
.page-badge {
  background: rgba(0,180,216,0.08) !important;
  border-color: rgba(0,180,216,0.25) !important;
  color: #00b4d8 !important;
}
.page-hero h1 { color: #0a0a0a !important; }
.page-hero p  { color: #606060 !important; }

/* ── Info page cards ── */
.benefit-list li         { color: #606060 !important; }
.benefit-list li::before { color: #06d6a0 !important; }
.perk      { background: #f4f4f4 !important; border-color: rgba(0,0,0,0.08) !important; }
.perk-text { color: #606060 !important; }

/* ── Blog ── */
.post-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.09) !important;
  color: #0a0a0a !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
}
.post-cat     { color: #00b4d8 !important; }
.post-title   { color: #0a0a0a !important; }
.post-excerpt { color: #606060 !important; }
.post-meta    { color: #606060 !important; }
.author-tag   { color: #00b4d8 !important; }
.read-more    { color: #00b4d8 !important; }

/* ── Blog post ── */
.back-link       { color: #606060 !important; }
.back-link:hover { color: #0a0a0a !important; }
.post-body       { color: #2a2a2a !important; }
.post-body strong{ color: #0a0a0a !important; }
.post-body a     { color: #00b4d8 !important; }

.results-card {
  background: #f4f4f4 !important;
  border-color: rgba(0,0,0,0.08) !important;
}
.results-card h3 { color: #0a0a0a !important; }
.results-list li { color: #606060 !important; }

.share-btn       { background: #ffffff !important; border-color: rgba(0,0,0,0.1) !important; color: #0a0a0a !important; }
.share-btn:hover { border-color: #0a0a0a !important; }
.more-post-card  { background: #ffffff !important; border-color: rgba(0,0,0,0.09) !important; color: #0a0a0a !important; }
.more-post-card span { color: #00b4d8 !important; }

/* ── Formspree states ── */
[data-fs-success] { background: rgba(6,214,160,0.07) !important; border-color: rgba(6,214,160,0.3) !important; color: #06a078 !important; }
.fs-form-error    { background: rgba(239,35,60,0.07)  !important; border-color: rgba(239,35,60,0.3)  !important; color: #c01a30 !important; }
[data-fs-error]:not([data-fs-error=""]) { color: #ef233c !important; }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #ef233c !important; }

/* ── Dividers ── */
.divider-post { border-color: rgba(0,0,0,0.08) !important; }

/* ── Footer ── */
footer { border-color: rgba(0,0,0,0.08) !important; background: #f9f9f9 !important; }
.footer-brand     { color: #0a0a0a !important; font-family: 'Bebas Neue', sans-serif !important; letter-spacing: 0.08em !important; }
.footer-links a   { color: #606060 !important; }
.footer-links a:hover { color: #0a0a0a !important; }
.footer-copy      { color: #a0a0a0 !important; }

/* ── Typography overrides ── */
h1, h2, h3, h4,
.section-title, .season-title,
.cta-section h2, .page-hero h1,
.post-title, .form-card-header h2 {
  font-family: 'Bebas Neue', 'DM Sans', sans-serif !important;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
}

.hero h1 {
  line-height: 1.0 !important;
  font-size: clamp(3rem, 6vw, 5rem) !important;
}

.stat-value, .s-val {
  font-family: 'Bebas Neue', sans-serif !important;
  letter-spacing: 0.05em !important;
}

.section-label {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

.nav-logo .star-icon { display: none !important; }

.btn, .btn-submit {
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
}

.about-card, .info-card, .season-card,
.form-card, .stat-card, .post-card {
  border-radius: 8px !important;
}

.stat-icon { display: none !important; }
