/* Ignition program page — extends home.css tokens */
body.page-ignition ::selection { background: var(--fire); color: var(--white); }

.nav-cta-fire { background: var(--fire) !important; border-color: var(--fire) !important; }
.nav-cta-fire:hover { background: #FF6B33 !important; border-color: #FF6B33 !important; }

body.page-ignition nav:not(.up) .nav-logo { color: var(--white); }
body.page-ignition nav:not(.up) .nav-logo .dot { background: var(--fire); }
body.page-ignition nav:not(.up) .nav-links a { color: rgba(255,255,255,.55); }
body.page-ignition nav:not(.up) .nav-links a:hover,
body.page-ignition nav:not(.up) .nav-links a.active { color: var(--white); }
body.page-ignition nav:not(.up) .nav-links a.nav-fire { color: var(--fire); }
body.page-ignition nav:not(.up) .nav-toggle { border-color: rgba(255,255,255,.2); }
body.page-ignition nav:not(.up) .nav-toggle-bar { background: var(--white); }
body.page-ignition nav.up .nav-drawer,
body.page-ignition .nav-drawer { background: rgba(255,255,255,.98); }

/* Hero */
.ign-hero {
  background: var(--ink); color: var(--white);
  padding: 160px 0 0; position: relative; overflow: hidden;
  border-bottom: 1px solid #1E1E1E; margin-top: 0;
}
.ign-hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: linear-gradient(rgba(255,77,0,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,77,0,.06) 1px, transparent 1px);
  background-size: 80px 80px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 0%, transparent 80%);
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 0%, transparent 80%);
}
.ign-hero-glow {
  position: absolute; top: -200px; left: 50%; transform: translateX(-50%);
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,77,0,.12) 0%, transparent 70%);
  z-index: 0; animation: ignPulse 4s ease-in-out infinite;
}
@keyframes ignPulse { 0%,100%{transform:translateX(-50%) scale(1);opacity:.6} 50%{transform:translateX(-50%) scale(1.15);opacity:1} }
.ign-hero-inner { position: relative; z-index: 1; }
.ign-eyebrow {
  font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; color: var(--fire);
  display: flex; align-items: center; gap: 10px; margin-bottom: 24px;
  opacity: 0; animation: fadeUp .7s var(--ease) .1s forwards;
}
.ign-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--fire); }
.ign-eyebrow .pip { width: 5px; height: 5px; background: var(--fire); border-radius: 50%; animation: ignBlink 2s ease-in-out infinite; }
@keyframes ignBlink { 0%,100%{opacity:1} 50%{opacity:.2} }
.ign-h {
  font-family: var(--jakarta); font-weight: 800;
  font-size: clamp(52px, 8vw, 120px);
  line-height: .88; letter-spacing: -.05em;
}
.ign-h .line { display: block; overflow: hidden; }
.ign-h .line span { display: block; opacity: 0; transform: translateY(100%); animation: slideUp .9s var(--ease) forwards; }
.ign-h .line:nth-child(1) span { animation-delay: .2s; }
.ign-h .line:nth-child(2) span { animation-delay: .32s; }
.ign-h .line:nth-child(3) span { animation-delay: .44s; }
.ign-h .fire { color: var(--fire); }
.ign-deck { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 72px; border-top: 1px solid #2A2A2A; }
.ign-deck-col { padding: 40px 0; }
.ign-deck-col:first-child { padding-right: 56px; border-right: 1px solid #2A2A2A; }
.ign-deck-col:last-child { padding-left: 56px; }
.ign-sub { font-size: 18px; line-height: 1.68; color: rgba(255,255,255,.65); opacity: 0; animation: fadeUp .9s var(--ease) .55s forwards; }
.ign-sub strong { color: var(--white); font-weight: 600; }
.ign-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; opacity: 0; animation: fadeUp .9s var(--ease) .68s forwards; }
.btn-fire { background: var(--fire); color: var(--white); border: 1px solid var(--fire); }
.btn-fire:hover { background: #FF6B33; border-color: #FF6B33; }
.btn-ghost-white { background: transparent; color: var(--white); border: 1px solid rgba(255,255,255,.2); }
.btn-ghost-white:hover { border-color: rgba(255,255,255,.6); }
.ign-facts { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: #2A2A2A; opacity: 0; animation: fadeUp .8s var(--ease) .72s forwards; }
.ign-fact { background: var(--ink); padding: 24px 20px; }
.ign-fact .fn { font-family: var(--jakarta); font-weight: 800; font-size: 32px; letter-spacing: -.03em; line-height: 1; }
.ign-fact .fn em { font-style: normal; color: var(--fire); font-size: 18px; }
.ign-fact .fl { font-size: 12px; color: rgba(255,255,255,.45); margin-top: 7px; line-height: 1.4; }

.sec-title .fire { color: var(--fire); }

/* Not section */
#not { border-top: 1px solid var(--rule); }
.not-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--rule); }
.not-col { background: var(--white); padding: 40px; }
.not-col-head { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.not-col-head.fire { color: var(--fire); border-bottom-color: var(--fire-2); }
.not-list { list-style: none; }
.not-list li { font-size: 16px; color: var(--ink-2); padding: 13px 0; border-bottom: 1px solid var(--rule-2); display: flex; gap: 14px; align-items: baseline; line-height: 1.5; }
.not-list li:last-child { border-bottom: none; }
.not-list.no li::before { content: '×'; color: var(--ink-4); font-family: var(--jakarta); font-weight: 700; flex: none; }
.not-list.yes li::before { content: '→'; color: var(--fire); font-family: var(--jakarta); font-weight: 700; flex: none; }

/* Sprint */
#sprint { background: var(--off); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.sprint-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--rule); }
.sprint-phase { background: var(--white); padding: 48px 44px; position: relative; overflow: hidden; }
.sprint-phase::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.sprint-phase.build::before { background: var(--accent); }
.sprint-phase.gtm::before { background: var(--fire); }
.sp-label { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 8px; }
.sp-label.blue { color: var(--accent); }
.sp-label.fire { color: var(--fire); }
.sp-days { font-family: var(--jakarta); font-weight: 800; font-size: 52px; letter-spacing: -.04em; line-height: 1; margin-bottom: 6px; }
.sp-title { font-family: var(--jakarta); font-weight: 700; font-size: 24px; letter-spacing: -.02em; margin-bottom: 20px; color: var(--ink-2); }
.sp-desc { font-size: 16px; color: var(--ink-2); line-height: 1.7; margin-bottom: 28px; }
.sp-list { list-style: none; }
.sp-list li { font-size: 14px; color: var(--ink-2); padding: 11px 0; border-bottom: 1px solid var(--rule-2); display: flex; gap: 13px; align-items: flex-start; }
.sp-list li:last-child { border-bottom: none; }
.sp-list li::before { content: '—'; font-family: var(--jakarta); font-weight: 700; flex: none; font-size: 12px; margin-top: 2px; }
.sprint-phase.build .sp-list li::before { color: var(--accent); }
.sprint-phase.gtm .sp-list li::before { color: var(--fire); }
.sp-output { margin-top: 28px; padding: 18px 20px; border: 1px solid var(--rule); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.sp-output .so-label { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 6px; }
.sp-output .so-val { font-family: var(--jakarta); font-weight: 700; font-size: 14px; color: var(--ink); }

.week-grid { display: grid; grid-template-columns: repeat(8,1fr); gap: 2px; background: var(--rule); border: 1px solid var(--rule); margin-top: 2px; }
.week-cell { background: var(--white); padding: 18px 16px; transition: background .2s; }
.week-cell:hover { background: var(--off); }
.wc-num { font-family: var(--jakarta); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 10px; }
.wc-title { font-family: var(--jakarta); font-weight: 700; font-size: 13px; letter-spacing: -.01em; margin-bottom: 8px; line-height: 1.3; }
.wc-items { list-style: none; }
.wc-items li { font-size: 11px; color: var(--ink-3); padding: 4px 0; border-bottom: 1px solid var(--rule-2); line-height: 1.4; }
.wc-items li:last-child { border-bottom: none; }
.wc-phase { display: inline-block; font-family: var(--jakarta); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 7px; margin-bottom: 8px; }
.wc-phase.build { background: var(--accent-2); color: var(--accent); }
.wc-phase.gtm { background: var(--fire-2); color: var(--fire); }

/* What gets built */
.built-block { margin-bottom: 64px; }
.built-head {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: end;
  margin-bottom: 20px;
}
.built-title {
  font-family: var(--jakarta); font-weight: 800;
  font-size: clamp(28px, 3.5vw, 42px); line-height: 1.02; letter-spacing: -.03em; color: var(--ink);
}
.built-title .fire { color: var(--fire); }
.built-sub { font-size: 17px; color: var(--ink-2); line-height: 1.65; max-width: 38ch; }
.built-grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px;
  background: var(--rule); border: 1px solid var(--rule);
}
.built-item {
  background: var(--white); padding: 28px 16px; text-align: center;
  transition: background .25s var(--ease);
  position: relative; overflow: hidden;
}
.built-item::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--fire); transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--ease);
}
.built-item:hover { background: var(--fire-2); }
.built-item:hover::before { transform: scaleX(1); }
.built-item span {
  font-family: var(--jakarta); font-weight: 700; font-size: 14px;
  letter-spacing: -.01em; color: var(--ink-2); line-height: 1.35; display: block;
}
.built-item:hover span { color: var(--ink); }

/* Model */
#model { border-top: 1px solid var(--rule); }
.model-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.model-text p { font-size: 17px; line-height: 1.75; color: var(--ink-2); margin-bottom: 22px; }
.model-text p strong { color: var(--ink); font-weight: 600; }
.model-pull { border-left: 3px solid var(--fire); padding: 16px 0 16px 24px; font-family: var(--jakarta); font-size: 20px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); line-height: 1.4; margin: 32px 0; }
.cap-table { border: 1px solid var(--rule); overflow: hidden; margin-bottom: 2px; }
.cap-head { background: var(--off); padding: 14px 20px; border-bottom: 1px solid var(--rule); font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-4); }
.cap-bar-wrap { padding: 20px 20px 8px; }
.cap-bar { display: flex; height: 40px; overflow: hidden; gap: 2px; margin-bottom: 16px; }
.cap-seg { display: flex; align-items: center; justify-content: center; font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cap-seg.josh { background: var(--fire); color: var(--white); flex: 0 0 20%; }
.cap-seg.founder-imm { background: var(--ink); color: var(--white); flex: 0 0 25%; }
.cap-seg.founder-vest { background: var(--off); color: var(--ink-3); border: 1px solid var(--rule); flex: 0 0 55%; }
.cap-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--rule-2); gap: 16px; }
.cap-row:last-child { border-bottom: none; }
.cap-row .cl { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--ink-2); }
.cap-row .cl .swatch { width: 10px; height: 10px; flex: none; }
.cap-row .cv { font-family: var(--jakarta); font-weight: 800; font-size: 20px; letter-spacing: -.02em; }
.cap-row .cn { font-size: 11px; color: var(--ink-3); margin-top: 2px; }
.cap-legend { display: flex; flex-direction: column; gap: 0; }
.bring-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--rule); margin-top: 48px; }
.model-layout .bring-grid { margin-top: 0; }
.bring-col { background: var(--white); padding: 36px; }
.bring-head { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.bring-head.fire { color: var(--fire); border-bottom-color: var(--fire-2); }
.bring-head.ink { color: var(--ink); }
.bring-list { list-style: none; }
.bring-list li { font-size: 15px; color: var(--ink-2); padding: 12px 0; border-bottom: 1px solid var(--rule-2); display: flex; gap: 13px; align-items: baseline; }
.bring-list li:last-child { border-bottom: none; }
.bring-list.josh li::before { content: '◆'; color: var(--fire); font-size: 8px; flex: none; padding-top: 4px; }
.bring-list.founder li::before { content: '◆'; color: var(--ink-4); font-size: 8px; flex: none; padding-top: 4px; }
.bring-amount-label { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-4); margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--rule); margin-bottom: 6px; }
.bring-amount { font-family: var(--jakarta); font-weight: 800; font-size: 28px; letter-spacing: -.03em; color: var(--fire); }
.bring-amount.bring-amount-scoped { font-size: 22px; letter-spacing: -.02em; }
.bring-amount.ink { color: var(--ink); }

/* Origin / SeasonedDish */
#origin { border-top: 1px solid var(--rule); }
.origin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--rule); margin-bottom: 2px; }
.origin-main { background: var(--white); padding: 52px 48px; }
.origin-side { background: var(--off); padding: 52px 48px; display: flex; flex-direction: column; gap: 28px; }
.origin-kicker { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fire); margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.origin-kicker::before { content: ''; width: 20px; height: 1px; background: var(--fire); display: inline-block; }
.origin-name { font-family: var(--jakarta); font-weight: 800; font-size: 32px; letter-spacing: -.03em; line-height: 1.05; margin-bottom: 16px; }
.origin-p { font-size: 16px; color: var(--ink-2); line-height: 1.7; margin-bottom: 22px; }
.origin-link-wrap { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--rule); }
.origin-link { font-family: var(--jakarta); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fire); display: inline-flex; align-items: center; gap: 9px; transition: gap .25s; }
.origin-link:hover { gap: 12px; }
.origin-side-label { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 16px; }
.origin-built-list { list-style: none; display: flex; flex-direction: column; }
.origin-built-list li { font-size: 14px; color: var(--ink-2); padding: 11px 0; border-bottom: 1px solid var(--rule-2); display: flex; gap: 12px; }
.origin-built-list li::before { content: '→'; color: var(--fire); font-family: var(--jakarta); font-weight: 700; flex: none; }
.origin-built-list li:last-child { border-bottom: none; }
.origin-note { padding: 20px; background: var(--white); border: 1px solid var(--rule); }
.origin-note p { font-size: 13px; color: var(--ink-3); line-height: 1.55; }
.origin-ext { font-family: var(--jakarta); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); display: inline-flex; align-items: center; gap: 8px; }
.origin-ext:hover { color: var(--fire); }
.origin-banner { border: 1px solid var(--rule); background: var(--fire); padding: 32px 40px; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.origin-banner-label { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 8px; }
.origin-banner-title { font-family: var(--jakarta); font-weight: 800; font-size: 20px; letter-spacing: -.02em; color: var(--white); line-height: 1.3; }
.origin-banner-cta { font-family: var(--jakarta); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 14px 24px; background: var(--white); color: var(--fire); display: inline-flex; align-items: center; gap: 10px; transition: all .25s; white-space: nowrap; flex: none; }
.origin-banner-cta:hover { gap: 14px; }

/* Selection */
#selection { background: var(--off); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.criteria-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; background: var(--rule); }
.criteria-card { background: var(--white); padding: 32px 28px; position: relative; overflow: hidden; transition: background .25s; }
.criteria-card:hover { background: var(--fire-2); }
.criteria-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--fire); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease); }
.criteria-card:hover::after { transform: scaleX(1); }
.cc-num { font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 16px; }
.cc-title { font-family: var(--jakarta); font-weight: 800; font-size: 18px; letter-spacing: -.02em; margin-bottom: 10px; }
.cc-desc { font-size: 14px; color: var(--ink-3); line-height: 1.6; }
.disqualify { margin-top: 32px; border: 1px solid var(--rule); background: var(--white); }
.dq-head { padding: 14px 20px; background: var(--off); border-bottom: 1px solid var(--rule); font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-4); }
.dq-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--rule); }
.dq-item { background: var(--white); padding: 16px 20px; font-size: 14px; color: var(--ink-3); display: flex; gap: 12px; align-items: baseline; }
.dq-item::before { content: '×'; color: var(--ink-4); font-family: var(--jakarta); font-weight: 700; flex: none; }

/* Cohort */
#cohort { border-top: 1px solid var(--rule); }
.cohort-layout { display: grid; grid-template-columns: 1fr 360px; gap: 64px; align-items: start; }
.cohort-text p { font-size: 17px; line-height: 1.75; color: var(--ink-2); margin-bottom: 22px; }
.cohort-text p strong { color: var(--ink); font-weight: 600; }
.cohort-pull { border-left: 3px solid var(--fire); padding: 16px 0 16px 24px; font-family: var(--jakarta); font-size: 20px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); line-height: 1.4; margin: 32px 0; }
.cohort-aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 2px; }
.detail-card { border: 1px solid var(--rule); overflow: hidden; }
.detail-head { background: var(--off); padding: 14px 20px; border-bottom: 1px solid var(--rule); font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-4); }
.detail-row { display: flex; justify-content: space-between; align-items: baseline; padding: 13px 20px; border-bottom: 1px solid var(--rule-2); gap: 12px; }
.detail-row:last-child { border-bottom: none; }
.detail-row .dk { font-family: var(--jakarta); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-4); }
.detail-row .dv { font-size: 14px; color: var(--ink-2); text-align: right; line-height: 1.4; }
.detail-row .dv.fire { color: var(--fire); font-weight: 700; font-family: var(--jakarta); }
.detail-row .dv.accent { color: var(--accent); font-family: var(--jakarta); font-weight: 700; }

/* Apply — dark */
body.page-ignition #apply { background: var(--ink); color: var(--white); border-top: 1px solid var(--ink); padding: 120px 0; }
body.page-ignition #apply .label-accent { color: var(--fire); }
.ign-apply-eyebrow {
  font-family: var(--jakarta); font-size: 10px; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; color: var(--fire);
  display: flex; align-items: center; gap: 10px; margin-bottom: 20px;
}
.ign-apply-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--fire); display: inline-block; }
body.page-ignition #apply .sec-title .fire { color: var(--fire); }
body.page-ignition #apply .apply-side-link { color: var(--fire); }
body.page-ignition #apply .apply-side-link:hover { color: #FF6B33; }
body.page-ignition #apply .sec-title { color: var(--white); }
body.page-ignition #apply .apply-side p { color: rgba(255,255,255,.6); font-size: 16px; line-height: 1.7; margin-bottom: 16px; max-width: 40ch; }
body.page-ignition #apply .apply-note { margin-top: 28px; padding: 18px 20px; background: rgba(255,77,0,.1); border-left: 3px solid var(--fire); font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.6; }
body.page-ignition #apply .apply-step { border-bottom-color: rgba(255,255,255,.08); }
body.page-ignition #apply .apply-step .sn { color: var(--fire); }
body.page-ignition #apply .apply-step .st { color: rgba(255,255,255,.6); }
body.page-ignition #apply .apply-step .st strong { color: var(--white); }
body.page-ignition #apply .fsec { color: rgba(255,255,255,.35); border-top-color: rgba(255,255,255,.1); }
body.page-ignition #apply .field label { color: rgba(255,255,255,.5); }
body.page-ignition #apply .field input,
body.page-ignition #apply .field select,
body.page-ignition #apply .field textarea {
  background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: var(--white);
}
body.page-ignition #apply .field input:focus,
body.page-ignition #apply .field select:focus,
body.page-ignition #apply .field textarea:focus {
  border-color: var(--fire); background: rgba(255,77,0,.06);
}
body.page-ignition #apply .field input::placeholder,
body.page-ignition #apply .field textarea::placeholder { color: rgba(255,255,255,.25); }
body.page-ignition #apply .field select {
  appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FF4D00' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
body.page-ignition #apply .field select option { background: #1A1A1A; }
body.page-ignition #apply .ack { color: rgba(255,255,255,.6); align-items: flex-start; }
body.page-ignition #apply .ack-check {
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 2px;
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid rgba(255,255,255,.35);
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: background .2s, border-color .2s;
}
body.page-ignition #apply .ack-check:checked {
  background: var(--fire);
  border-color: var(--fire);
}
body.page-ignition #apply .ack-check:checked::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 0;
  width: 5px;
  height: 9px;
  border: solid var(--white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
body.page-ignition #apply .ack-check:focus-visible {
  outline: 2px solid var(--fire);
  outline-offset: 2px;
}
body.page-ignition #apply .ack-text { flex: 1; line-height: 1.55; }
body.page-ignition #apply .form-msg { border-left-color: var(--fire); background: rgba(255,77,0,.1); color: var(--fire); }
body.page-ignition #apply .form-error-banner { border-left-color: #c44; background: rgba(200,68,68,.15); color: #f5a5a5; }
body.page-ignition #apply .submit-btn { background: var(--fire); color: var(--white); border: none; }
body.page-ignition #apply .submit-btn:hover { background: #FF6B33; }

@media (max-width: 960px) {
  .ign-deck, .not-grid, .sprint-layout, .model-layout, .bring-grid, .cohort-layout, .origin-grid { grid-template-columns: 1fr; }
  .built-head { grid-template-columns: 1fr; gap: 14px; }
  .built-grid { grid-template-columns: repeat(4, 1fr); }
  .ign-deck-col:first-child { border-right: none; border-bottom: 1px solid #2A2A2A; padding-right: 0; }
  .ign-deck-col:last-child { padding-left: 0; }
  .criteria-grid { grid-template-columns: 1fr 1fr; }
  .dq-grid { grid-template-columns: 1fr 1fr; }
  .week-grid { grid-template-columns: repeat(4,1fr); }
  .ign-facts { grid-template-columns: 1fr 1fr; }
  .cohort-aside { position: static; }
}
@media (max-width: 540px) {
  .criteria-grid, .dq-grid, .week-grid, .built-grid { grid-template-columns: 1fr 1fr; }
}
