@charset "utf-8";
/* =====================================================
   Program pages (proposal): shared template for
   programs-youth-training, performance-strength-and-conditioning,
   performance-speed, performance-baseball, performance-mental.
   Built by scratch/build_programs.py. Loaded after home.css
   (steps, review cards, CTA band, sticky CTA, placeholder note).
   The hero is deliberately different from the About heroes:
   full-bleed duotone action photo, giant display title,
   and a diagonal red/gold base that carries the quick facts.
   ===================================================== */

/* ---------- 1-2. Compact program header ----------
   No photo. Same black/crimson-glow/diagonal-texture background as the
   About hero, but compact, with no photo on the right, followed directly
   by a black quick-facts bar with a gold top edge. */
.prog-hero { position: relative; color: #fff; }
.prog-hero__top {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2.5rem; align-items: end;
  padding-top: clamp(1.5rem, 3vw, 2.25rem); padding-bottom: clamp(1.25rem, 2.5vw, 2rem);
}
.prog-hero::before {   /* same background as the About/Coach T hero (.home-hero in home.css):
                          brand black, crimson glow top right, faint gold glow bottom left, diagonal texture */
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 14px),
    radial-gradient(60rem 30rem at 85% 20%, rgba(212, 42, 54, .35), transparent 60%),
    radial-gradient(40rem 30rem at 0% 100%, rgba(245, 184, 65, .08), transparent 60%),
    var(--grind-black);
}
.prog-hero__label {
  display: inline-flex; align-items: center; gap: .6rem; margin-bottom: .5rem;
  font-size: .8125rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pulse-gold);
}
.prog-hero__icon {
  display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: .6rem;
  background: var(--impact-crimson); color: #fff; transform: rotate(-6deg);
}
.prog-hero__icon svg { width: 22px; height: 22px; transform: rotate(6deg); }
.prog-hero__title {
  margin-bottom: .35rem;
  font-size: clamp(1.9rem, 3.6vw, 2.9rem); font-weight: 900; line-height: 1; letter-spacing: -.02em; text-transform: uppercase;
}
.prog-hero__outcome { margin-bottom: .75rem; font-size: clamp(1.05rem, 1.6vw, 1.25rem); font-weight: 700; color: #fff; }
.prog-hero__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 0; }
.prog-hero__chips li {
  padding: .25rem .75rem; border-radius: 999px; background: var(--pulse-gold); color: var(--grind-black);
  font-size: .8125rem; font-weight: 800;
}
.prog-hero__ctas { display: flex; flex-direction: column; align-items: center; gap: .5rem; margin: 0; }
.prog-hero__link {
  display: inline-flex; align-items: center; min-height: var(--tap-min);
  font-weight: 700; color: #fff; text-decoration: underline; text-underline-offset: .2em;
}
.prog-hero__link:hover { color: var(--pulse-gold); }
.prog-hero a:focus-visible { outline: 3px solid var(--pulse-gold); outline-offset: 3px; }

.prog-hero__base { position: relative; z-index: 1; background: #141416; border-top: 4px solid var(--impact-crimson); padding: 1rem 0; }
.prog-hero__facts { display: grid; gap: .75rem 2rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.prog-hero__fact { border-left: 2px solid var(--impact-crimson-bright); padding-left: .8rem; }
.prog-hero__fact dt { font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pulse-gold); }
.prog-hero__fact dd { margin: .1rem 0 0; font-size: 1rem; font-weight: 700; line-height: 1.3; color: #fff; }
@media (max-width: 991.98px) { .prog-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .prog-hero__top { grid-template-columns: 1fr; align-items: start; }
  .prog-hero__ctas { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; }
}
@media (max-width: 575.98px) {
  .prog-hero__ctas .btn { width: 100%; }
  .prog-hero__ctas { justify-content: center; }
  .prog-hero__facts { gap: .6rem 1rem; }
  .prog-hero__fact dd { font-size: .875rem; }
}

/* ---------- 3. Develops + who it's for ---------- */
.prog-why p { font-size: 1.0625rem; color: #2b2b30; }
.prog-why__lead { font-weight: 600; }
.prog-why__note { padding: .6rem .9rem; border-left: 4px solid var(--pulse-gold); background: #fff8e6; border-radius: var(--radius-md); }
.prog-why p:last-child { margin-bottom: 0; }
.prog-card {
  position: relative; padding: 1.25rem 1.25rem 1.25rem 3.5rem;
  border: 1px solid #ece7e5; border-radius: var(--radius-lg); background: #fff;
  box-shadow: 0 8px 24px rgba(10,10,10,.05);
}
.prog-card__check {
  position: absolute; left: 1.1rem; top: 1.2rem;
  display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--impact-crimson); color: #fff;
}
.prog-card__title { font-size: 1.0625rem; font-weight: 800; margin-bottom: .25rem; color: var(--grind-black); }
.prog-card p { color: #3a3a40; font-size: .9375rem; }
.prog-sub { font-size: 1.25rem; font-weight: 800; color: var(--grind-black); margin-bottom: 1rem; }
.prog-who { padding: 1.1rem 1.25rem; border-radius: var(--radius-md); background: var(--grind-black); color: #fff; border-top: 4px solid var(--pulse-gold); }
.prog-who__title { font-size: 1rem; font-weight: 800; color: var(--pulse-gold); margin-bottom: .35rem; }
.prog-who p { color: rgba(255,255,255,.88); font-size: .9375rem; }
.prog-approach { max-width: 52rem; margin: 2rem 0 0; font-size: 1.0625rem; color: #2b2b30; }

/* ---------- 5. Coach / lead ---------- */
.prog-coach {
  display: grid; gap: 1.5rem 2.5rem; align-items: center;
  grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border-radius: var(--radius-lg); background: var(--grind-black); color: #fff;
  border-left: 6px solid var(--impact-crimson);
}
.prog-coach__photo picture { display: block; }
.prog-coach__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: top; border-radius: var(--radius-lg); }
.prog-coach__photo--logo { display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--radius-lg); background: #1b1b1f; }
.prog-coach__photo--logo img { width: 60%; aspect-ratio: auto; }
.prog-coach__name { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 800; color: #fff; margin-bottom: .35rem; }
.prog-coach__role { font-weight: 700; color: #ff8a93; }   /* 6.9:1 on #0a0a0a */
.prog-coach p { color: rgba(255,255,255,.88); }
.prog-coach__extra { font-style: italic; }
@media (max-width: 767.98px) {
  .prog-coach { grid-template-columns: 1fr; }
  .prog-coach__photo { max-width: 12rem; }
}

/* ---------- 7. Plans ---------- */
.prog-plan {
  position: relative; display: flex; flex-direction: column;
  padding: 1.5rem; border: 1px solid #ece7e5; border-radius: var(--radius-lg); background: #fff;
  box-shadow: 0 8px 24px rgba(10,10,10,.06);
}
.prog-plan.is-featured { border: 2px solid var(--impact-crimson); box-shadow: 0 16px 36px rgba(212,42,54,.15); }
.prog-plan__badge {
  position: absolute; top: -.8rem; right: 1.25rem;
  padding: .25rem .75rem; border-radius: 999px; background: var(--pulse-gold); color: var(--grind-black);
  font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.prog-plan__band { font-size: .8125rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--impact-crimson); margin-bottom: .35rem; }
.prog-plan__name { font-size: 1.25rem; font-weight: 800; color: var(--grind-black); }
.prog-plan__price { margin-bottom: .25rem; }
.prog-plan__amount { font-size: 2.5rem; font-weight: 900; color: var(--grind-black); letter-spacing: -.02em; }
.prog-plan__per { font-weight: 700; color: var(--muted); }
.prog-plan__billing { font-size: .875rem; color: var(--muted); }
.prog-plan__list li { display: flex; gap: .5rem; margin-bottom: .5rem; color: #2b2b30; }
.prog-plan__list svg { flex: none; color: var(--impact-crimson); margin-top: .2rem; }
.prog-plan--contact { border-left: 6px solid var(--impact-crimson); }
.prog-plans__note { max-width: 46rem; margin: 1.5rem auto 0; font-size: .9375rem; color: var(--muted); text-align: center; }

/* ---------- 8. FAQ (native details) ---------- */
.prog-faq__item { border-bottom: 1px solid #e3dedc; }
.prog-faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: var(--tap-min); padding: .9rem 0;
  font-weight: 800; color: var(--grind-black); cursor: pointer; list-style: none;
}
.prog-faq__item summary::-webkit-details-marker { display: none; }
.prog-faq__item summary::after { content: "+"; font-size: 1.4rem; color: var(--impact-crimson); line-height: 1; }
.prog-faq__item[open] summary::after { content: "\2212"; }
.prog-faq__item p { color: #2b2b30; padding-bottom: 1rem; margin: 0; }

/* ---------- 9. Other programs ---------- */
.prog-other {
  display: flex; align-items: center; gap: .85rem; height: 100%;
  min-height: 4.5rem; padding: 1rem 1.1rem;
  border-radius: var(--radius-md); background: var(--grind-black); color: #fff;
  font-weight: 800; text-decoration: none;
  transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease;
}
main li a.prog-other:not(.btn), main li a.prog-other:not(.btn):hover { text-decoration: none; }
.prog-other:hover { color: #fff; background: var(--impact-crimson-dark); transform: translateY(-2px); }
.prog-other__icon { display: inline-grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: .6rem; background: var(--impact-crimson); }
.prog-other__name { flex: 1; }
.prog-other__arrow { color: var(--pulse-gold); font-size: 1.25rem; }
@media (prefers-reduced-motion: reduce) { .prog-other { transition: none; } .prog-other:hover { transform: none; } }

/* Placeholder notes on light surfaces (home.css styles them for dark bands) */
.section:not(.reviews-band) .placeholder-note { color: #7a5200; border-color: #b07a10; background: #fff8e6; }
.prog-coach .placeholder-note { color: var(--pulse-gold); border-color: var(--pulse-gold); background: transparent; }

/* ---------- Adults & Community pages (same template) ---------- */
.prog-card--title { display: flex; align-items: center; min-height: 4.25rem; }
.comm-logo { display: block; width: min(12rem, 60%); height: auto; margin-top: 1.5rem; }
.comm-approach { max-width: 52rem; padding: 1.25rem 1.5rem; border-left: 4px solid var(--impact-crimson); border-radius: var(--radius-md); background: var(--surface-alt); }
.comm-approach p { color: #2b2b30; }
.comm-embed { border-radius: var(--radius-lg); overflow: hidden; background: var(--grind-black); }
.comm-embed iframe { border: 0; }
.prog-plan__amount--tbd { font-size: 1.25rem; font-weight: 800; color: #7a5200; }

/* ---------- Summer Intensive (same template) ---------- */
.sum-status { background: var(--pulse-gold); color: var(--grind-black); padding: .85rem 0; font-size: .9375rem; }
.sum-big { font-size: clamp(2rem, 4.2vw, 3.25rem); font-weight: 900; line-height: 1.02; letter-spacing: -.02em; text-transform: uppercase; color: var(--grind-black); }
.sum-big span { display: block; color: var(--impact-crimson); }
.sum-big .sum-big__gold { color: var(--grind-black); background: linear-gradient(transparent 62%, var(--pulse-gold) 62%); display: inline; }
.sum-stat {
  display: flex; flex-direction: column; gap: .2rem; padding: 1.25rem;
  border-radius: var(--radius-lg); background: var(--grind-black); color: #fff;
  border-bottom: 4px solid var(--impact-crimson);
}
.sum-stat__word { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; color: #fff; }
.sum-stat__sub { font-size: .875rem; font-weight: 700; color: var(--pulse-gold); }
.sum-block { position: relative; padding: 1.25rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid #ece7e5; border-top: 4px solid var(--impact-crimson); }
.sum-block__tag { display: inline-block; margin-bottom: .5rem; padding: .15rem .6rem; border-radius: 999px; background: #ece7e5; color: #3a3a40; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sum-block__name { font-size: 1.125rem; font-weight: 800; color: var(--grind-black); margin-bottom: .2rem; }
.sum-block__date { font-size: 1.25rem; font-weight: 900; color: var(--impact-crimson-dark); margin-bottom: .5rem; }
.sum-block__times { font-size: .875rem; color: #3a3a40; }
.sum-proof-sub { font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pulse-gold); margin-bottom: 1rem; }
.prog-camp-link { font-weight: 700; }

/* ---------- Partners (same template) ---------- */
.ptn-tier { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1.25rem; font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 900; text-transform: uppercase; color: var(--grind-black); }
.ptn-tier__badge { padding: .2rem .7rem; border-radius: 999px; background: var(--pulse-gold); color: var(--grind-black); font-size: .75rem; letter-spacing: .1em; }
.ptn-tier__badge--td { background: var(--impact-crimson); color: #fff; }
.ptn-tier__sub { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; color: var(--muted); }
.ptn-card {
  display: flex; flex-direction: column; height: 100%; overflow: hidden;
  border-radius: var(--radius-lg); background: #fff; border: 1px solid #ece7e5; color: var(--grind-black);
  box-shadow: 0 8px 24px rgba(10,10,10,.06);
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease, border-color var(--dur-fast) ease;
}
main li a.ptn-card:not(.btn), main li a.ptn-card:not(.btn):hover { text-decoration: none; }
.ptn-card:hover { color: var(--grind-black); transform: translateY(-3px); box-shadow: var(--shadow-lift); border-color: var(--impact-crimson); }
.ptn-card__logo { display: grid; place-items: center; padding: 1.25rem; aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid #f0ebe9; }
.ptn-card__logo img { width: auto; height: auto; max-width: 70%; max-height: 8.5rem; object-fit: contain; }
.ptn-card--gold { border: 2px solid var(--pulse-gold); }
.ptn-card--gold .ptn-card__body { background: #fff8e6; }
.ptn-card__body { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem 1.1rem; flex: 1; }
.ptn-card__cat { font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--impact-crimson-dark); }
.ptn-card__name { font-size: 1.0625rem; font-weight: 800; line-height: 1.25; }
.ptn-card__go { margin-top: auto; padding-top: .4rem; font-size: .875rem; font-weight: 700; color: var(--impact-crimson-dark); }
@media (prefers-reduced-motion: reduce) { .ptn-card { transition: none; } .ptn-card:hover { transform: none; } }
.ptn-on-dark { color: rgba(255,255,255,.88); }
.ptn-faq-list { padding-left: 1.25rem; margin-bottom: .75rem; }
.prog-faq__item .ptn-faq-list li { color: #2b2b30; }

/* ---------- Utility pages: Contact, App, Podcast, Legal (same template) ---------- */
.prog-hero__facts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767.98px) { .prog-hero__facts--3 { grid-template-columns: 1fr 1fr; } }
.prog-hero__fact .ut-fact-link { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.prog-hero__fact .ut-fact-link:hover { color: var(--pulse-gold); }
.ut-contact { display: grid; gap: 1rem; }
.ut-contact li { display: flex; gap: 1rem; align-items: flex-start; padding: 1.1rem 1.25rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid #ece7e5; }
.ut-contact__icon { flex: none; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .75rem; background: var(--impact-crimson); color: #fff; }
.ut-contact__k { font-size: .8125rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--impact-crimson-dark); margin-bottom: .25rem; }
.ut-contact p { color: #2b2b30; font-weight: 600; }
.ut-contact__link { font-weight: 700; }
.ut-map { border: 4px solid var(--grind-black); }
.ut-map iframe { border: 0; }
.ut-stores { display: grid; gap: 1rem; }
.ut-store {
  display: flex; align-items: center; gap: 1rem; min-height: 5rem; padding: 1rem 1.5rem;
  border-radius: var(--radius-lg); background: var(--grind-black); color: #fff; text-decoration: none;
  border-left: 6px solid var(--impact-crimson);
  transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) ease;
}
.ut-store:hover { color: #fff; background: #1d1d21; transform: translateY(-2px); }
.ut-store:focus-visible { outline: 3px solid var(--pulse-gold); outline-offset: 3px; }
.ut-store__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: .8rem; background: var(--impact-crimson); }
.ut-store__small { display: block; font-size: .8125rem; font-weight: 700; color: var(--pulse-gold); }
.ut-store__big { display: block; font-size: 1.5rem; font-weight: 900; line-height: 1.1; }
@media (prefers-reduced-motion: reduce) { .ut-store { transition: none; } .ut-store:hover { transform: none; } }
.ut-toc { position: sticky; top: 6rem; padding: 1.25rem; border-radius: var(--radius-lg); background: var(--surface-alt); border-left: 4px solid var(--impact-crimson); }
.ut-toc__title { font-size: .8125rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--impact-crimson-dark); margin-bottom: .6rem; }
.ut-toc li { margin-bottom: .35rem; font-size: .9375rem; line-height: 1.35; }
.ut-toc a { color: #2b2b30; }
.ut-toc a:hover { color: var(--impact-crimson-dark); }
@media (max-width: 991.98px) { .ut-toc { position: static; } }
.ut-legal { max-width: 46rem; font-size: 1.0625rem; line-height: 1.7; color: #2b2b30; }
.ut-legal h2 { margin: 2.25rem 0 .75rem; padding-top: .25rem; font-size: 1.375rem; font-weight: 800; color: var(--grind-black); scroll-margin-top: 6rem; }
.ut-legal h2:first-of-type { margin-top: 1.5rem; }
.ut-legal h3 { margin: 1.5rem 0 .5rem; font-size: 1.125rem; font-weight: 800; color: var(--grind-black); }
.ut-legal ul, .ut-legal ol { padding-left: 1.25rem; }
.ut-legal li { margin-bottom: .35rem; }
.ut-legal a { overflow-wrap: anywhere; }
.sum-stat--sm .sum-stat__word { font-size: clamp(1.05rem, 1.9vw, 1.5rem); overflow-wrap: normal; word-break: normal; hyphens: manual; }
.prog-who a:not(.btn) { color: var(--pulse-gold); }

/* ===== Brand Kit (brand-kit-guidelines.shtml) ===== */
.bk-toc{background:#fff;border-bottom:1px solid rgba(10,10,10,.1)}
.bk-toc ul{display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding:.5rem 0}
.bk-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;border-radius:999px;font-weight:700;font-size:.875rem;color:var(--grind-black,#0a0a0a);text-decoration:none}
.bk-toc a:hover{background:var(--surface-alt,#f5f3f2);color:var(--impact-crimson-dark,#b3202c)}
.bk-logo{background:#fff;border:1px solid rgba(10,10,10,.1);border-radius:var(--radius-lg,1.25rem);overflow:hidden;display:flex;flex-direction:column}
.bk-logo__img{display:flex;align-items:center;justify-content:center;padding:1.5rem;min-height:200px;background:repeating-conic-gradient(#ececec 0 25%,#fafafa 0 50%) 0 0/20px 20px}
.bk-logo__img img{max-width:100%;height:auto;max-height:160px;width:auto}
.bk-logo--wide .bk-logo__img img{max-height:120px}
.bk-logo__cap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem}
.bk-logo__cap code{color:var(--iron-slate,#55555b);word-break:break-all}
.bk-logo__cap a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--impact-crimson-dark,#b3202c)}
.bk-swatch{background:#fff;border:1px solid rgba(10,10,10,.1);border-radius:var(--radius-lg,1.25rem);overflow:hidden}
.bk-swatch__chip{display:block;height:84px;border-bottom:1px solid rgba(10,10,10,.1)}
.bk-swatch__body{padding:1rem}
.bk-swatch__name{font-size:1.05rem;font-weight:800;margin:0 0 .25rem}
.bk-swatch__hex{font-size:.8125rem;margin:0 0 .5rem}
.bk-swatch__hex code,.bk-table code{color:var(--grind-black,#0a0a0a)}
.bk-table td code{white-space:nowrap}
@media (max-width:575.98px){.bk-logo__img{min-height:140px;padding:1rem}.bk-logo__img img{max-height:110px}}
.bk-pair::before{content:"Aa"}
.bk-table th[scope=row]{font-weight:600;white-space:nowrap}
.bk-pair{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2rem;margin-right:.5rem;border-radius:.4rem;font-weight:800;border:1px solid rgba(10,10,10,.15)}
.bk-verdict{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.8125rem;font-weight:800;white-space:nowrap}
.bk-verdict--aaa,.bk-verdict--aa{background:#e6f4ea;color:#1e5b2e}
.bk-verdict--fails{background:#fde8e9;color:#8f1a24}
.bk-spec{background:#fff;border:1px solid rgba(10,10,10,.1);border-radius:var(--radius-lg,1.25rem);padding:1.25rem}
.bk-spec__k{font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--iron-slate,#55555b);margin-bottom:.5rem}
.bk-spec--do{border-top:4px solid var(--pulse-gold,#f5b841)}
.bk-spec--dont{border-top:4px solid var(--impact-crimson,#d42a36)}
.bk-type-title{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1;margin-bottom:.5rem}
.bk-demo{border-radius:var(--radius-lg,1.25rem);padding:1.25rem}
.bk-demo--light{background:#fff;border:1px solid rgba(10,10,10,.1)}
.bk-demo--dark{background:var(--grind-black,#0a0a0a);color:#fff}
.bk-demo--dark .bk-spec__k{color:var(--pulse-gold,#f5b841)}
.bk-demo--dark code{color:#fff}
.bk-toc~.section code,.bk-logo__cap code{color:var(--impact-crimson-dark,#b3202c)}
.bk-toc~.section .bk-demo--dark code,.bk-toc~.section .prog-who code,.bk-toc~.section .sum-stat code{color:var(--pulse-gold,#f5b841)}
.bk-demo .btn{pointer-events:none}
.bk-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}
.bk-icons li{display:flex;align-items:center;gap:.6rem;font-size:.875rem;font-weight:600}
.bk-c-0a0a0a{background:#0a0a0a}
.bk-c-141416{background:#141416}
.bk-c-55555b{background:#55555b}
.bk-c-a3a3a3{background:#a3a3a3}
.bk-c-b3202c{background:#b3202c}
.bk-c-d42a36{background:#d42a36}
.bk-c-ef3442{background:#ef3442}
.bk-c-f5b841{background:#f5b841}
.bk-c-f5f3f2{background:#f5f3f2}
.bk-c-fffafa{background:#fffafa}
.bk-fg-0a0a0a{color:#0a0a0a}
.bk-fg-55555b{color:#55555b}
.bk-fg-a3a3a3{color:#a3a3a3}
.bk-fg-b3202c{color:#b3202c}
.bk-fg-d42a36{color:#d42a36}
.bk-fg-ef3442{color:#ef3442}
.bk-fg-f5b841{color:#f5b841}
.bk-fg-ffffff{color:#ffffff}
.bk-bg-0a0a0a{background:#0a0a0a}
.bk-bg-b3202c{background:#b3202c}
.bk-bg-d42a36{background:#d42a36}
.bk-bg-ef3442{background:#ef3442}
.bk-bg-f5b841{background:#f5b841}
.bk-bg-fffafa{background:#fffafa}
.bk-bg-ffffff{background:#ffffff}
