/* Campaign presentation follows the official architectural homepage. */
#appShell #campaign { gap: 20px; }
#appShell #campaign .campaign-hero-band {
  display: block;
  min-height: 430px;
  padding: clamp(28px, 3.5vw, 52px);
  border: 1px solid #23382e;
  border-radius: 12px;
  background: #0b1913 url('/assets/brainoff-architecture-20260910.png') 66% center / cover no-repeat;
  box-shadow: none;
  isolation: isolate;
}
#appShell #campaign .campaign-hero-band::before {
  z-index: 0;
  background: linear-gradient(90deg, rgba(6, 17, 12, .91), rgba(6, 17, 12, .81) 41%, rgba(6, 17, 12, .1) 76%);
}
#appShell #campaign .campaign-hero-copy { max-width: 65%; }
#appShell #campaign .campaign-badge-row { align-items: center; gap: 12px; margin-bottom: 32px; }
#appShell #campaign .campaign-status-badge,
#appShell #campaign .campaign-batch-badge {
  padding: 4px 0; min-height: auto; background: none; border: none;
  border-radius: 0; font-size: 12px; font-weight: 500; color: #c8d8ce;
}
#appShell #campaign .campaign-status-badge::before {
  content: ''; display: inline-block; width: 6px; height: 6px;
  margin: 0 7px 1px 0; border-radius: 50%; background: currentColor;
}
#appShell #campaign .campaign-status-badge.is-open { color: #b3d3bd; }
#appShell #campaign .campaign-status-badge.is-waiting { color: #dec78c; }
#appShell #campaign .campaign-batch-badge { display: none; }
#appShell #campaign .campaign-hero-copy .eyebrow {
  display: flex; align-items: center; gap: 12px;
  color: #b4cabc; font-size: 11px; font-weight: 500; letter-spacing: .17em;
}
#appShell #campaign .campaign-hero-copy .eyebrow::before {
  content: ''; width: 24px; height: 1px; background: #b4cabc;
}
#appShell #campaign .campaign-hero-copy h3 {
  margin: 17px 0; font-family: var(--workspace-font); font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 550; line-height: 1.3; letter-spacing: -.025em; color: #f3f1e8; text-wrap: balance;
}
#appShell #campaign .campaign-hero-copy > p {
  max-width: 580px; color: #bdcac0; font-size: 14px; line-height: 1.85;
}
#appShell #campaign .campaign-price-line {
  margin-top: 32px; gap: 10px; font-size: 12px; font-weight: 400; color: #c6d3c8;
}
#appShell #campaign .campaign-price-line strong {
  display: inline-flex; align-items: baseline; font-size: 42px; font-weight: 450;
  letter-spacing: -.035em; margin-right: 10px; color: #f3f1e8;
}
#appShell #campaign .campaign-price-line strong small {
  font-size: 12px; font-weight: 500; color: #c9bd97; letter-spacing: .03em;
}
#appShell #campaign .campaign-hero-mark {
  position: absolute; right: 28px; bottom: 28px; width: auto; aspect-ratio: auto;
  display: flex; align-items: center; gap: 18px; padding: 14px 18px;
  background: rgba(9, 24, 17, .66); backdrop-filter: blur(12px);
  border: 1px solid rgba(218, 226, 212, .18); border-radius: 4px; box-shadow: none;
}
#appShell #campaign .campaign-brand-lockup { display: flex; align-items: center; gap: 9px; mix-blend-mode: screen; }
#appShell #campaign .campaign-brand-lockup img { width: 48px; height: 32px; object-fit: contain; }
#appShell #campaign .campaign-brand-lockup span {
  color: #eceee5; font-size: 10px; letter-spacing: .2em; font-weight: 550; line-height: 1.4;
}
#appShell #campaign .campaign-hero-mark small { font-size: 10px; letter-spacing: .08em; font-weight: 450; color: #cebf97; }
#appShell #campaign .campaign-progress-band,
#appShell #campaign .campaign-action-band {
  padding: 26px 28px; border-color: var(--workspace-line); background: var(--workspace-surface);
  border-radius: 12px; box-shadow: none;
}
#appShell #campaign .campaign-progress-head strong { font-weight: 500; }
#appShell #campaign .campaign-progress-head b { font-weight: 550; }
#appShell #campaign .campaign-progress-track { height: 5px; background: #e4e9e1; border-radius: 3px; }
#appShell #campaign .campaign-progress-track > span { background: #719583; box-shadow: none; }
#appShell #campaign .campaign-action-band h3 { font-size: 21px; line-height: 1.45; font-weight: 550; }
#appShell #campaign .campaign-action-band p { font-size: 13px; line-height: 1.7; }
#appShell #campaign .campaign-actions { flex-wrap: wrap; }
#appShell #campaign .campaign-actions > :is(button, a) {
  min-height: 44px; border-radius: 6px; font-size: 13px; font-weight: 500; box-shadow: none;
}
#appShell #campaign .campaign-primary-action { background: #17362a; color: #f6f6ee; border-color: #17362a; }
#appShell #campaign .campaign-flow { gap: 0; padding: 8px 0; }
#appShell #campaign .campaign-flow > div { padding: 14px 24px; border-color: #d8dfd5; }
#appShell #campaign .campaign-flow b { font-weight: 550; font-size: 13px; }
#appShell #campaign .campaign-flow small { line-height: 1.75; }
#appShell #campaign .campaign-footnote { line-height: 1.8; font-size: 12px; }
@media (max-width: 1100px) {
  #appShell #campaign .campaign-hero-copy { max-width: 72%; }
  #appShell #campaign .campaign-hero-band { min-height: 450px; padding-bottom: 108px; }
}
@media (max-width: 620px) {
  #appShell #campaign { gap: 14px; }
  #appShell #campaign .campaign-hero-band { min-height: 0; padding: 26px 22px 100px; background-position: 72% center; }
  #appShell #campaign .campaign-hero-band::before {
    background: linear-gradient(90deg, rgba(6,17,12,.9), rgba(6,17,12,.76) 65%, rgba(6,17,12,.42));
  }
  #appShell #campaign .campaign-hero-copy { max-width: 100%; }
  #appShell #campaign .campaign-badge-row { margin-bottom: 26px; }
  #appShell #campaign .campaign-hero-copy h3 { font-size: 32px; margin: 16px 0; }
  #appShell #campaign .campaign-hero-copy > p { font-size: 13px; line-height: 1.85; }
  #appShell #campaign .campaign-price-line { margin-top: 24px; gap: 9px; font-size: 11px; }
  #appShell #campaign .campaign-price-line strong { font-size: 36px; flex-basis: 100%; margin-bottom: 8px; }
  #appShell #campaign .campaign-price-line i { height: 11px; }
  #appShell #campaign .campaign-hero-mark { left: 22px; right: auto; bottom: 22px; gap: 14px; padding: 10px 12px; }
  #appShell #campaign .campaign-brand-lockup img { width: 42px; height: 28px; }
  #appShell #campaign .campaign-brand-lockup span { font-size: 9px; }
  #appShell #campaign .campaign-hero-mark small { font-size: 9px; }
  #appShell #campaign .campaign-progress-band,
  #appShell #campaign .campaign-action-band { padding: 22px 20px; }
  #appShell #campaign .campaign-progress-head { align-items: flex-start; gap: 18px; }
  #appShell #campaign .campaign-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  #appShell #campaign .campaign-flow { gap: 16px; padding: 6px 4px; }
  #appShell #campaign .campaign-flow > div { padding: 8px 16px; }
}
