

:root {
  --bp-pad: 32px;
  --bp-pad-sm: 22px;
  --bp-pad-lg: 44px;
  --bp-gap: 24px;
  --bp-gap-sm: 14px;
  --bp-gap-lg: 36px;
  --bp-stack: 16px;
  --bp-radius: var(--r, 20px);
  --bp-radius-sm: var(--rs, 12px);
  --bp-radius-lg: 28px;
  --bp-radius-xl: 40px;
  --bp-ease: var(--ease, cubic-bezier(.23,1,.32,1));
  --bp-spring: var(--spring, cubic-bezier(.34,1.56,.64,1));
  --bp-p5ease: var(--p5ease, cubic-bezier(.17,.67,.32,1.27));
  --bp-text: #fff;
  --bp-text-strong: #fff;
  --bp-text-body: rgba(255,255,255,.78);
  --bp-text-muted: rgba(255,255,255,.62);
  --bp-text-faint: rgba(255,255,255,.46);
  --bp-rule: rgba(255,255,255,.08);
  --bp-rule-strong: rgba(255,255,255,.14);
  --bp-glass: rgba(255,255,255,.045);
  --bp-glass-strong: rgba(255,255,255,.07);
  --bp-glass-border: rgba(255,255,255,.09);
  --bp-glass-border-strong: rgba(255,255,255,.14);
  --bp-glass-shine: linear-gradient(135deg, rgba(255,255,255,.10) 0%, rgba(124,58,237,.04) 48%, transparent 100%);
  --bp-accent: var(--p5, #E61A1A);
  --bp-accent-soft: rgba(230,26,26,.16);
  --bp-accent-glow: 0 0 0 1px rgba(230,26,26,.28), 0 14px 44px rgba(230,26,26,.22);
  --bp-focus: 0 0 0 3px rgba(230,26,26,.35), 0 0 0 5px rgba(255,255,255,.08);
  --bp-shadow-1: 0 6px 22px rgba(0,0,0,.32);
  --bp-shadow-2: 0 18px 50px rgba(0,0,0,.4), 0 2px 10px rgba(230,26,26,.08);
  --bp-shadow-3: 0 30px 90px rgba(168,16,16,.22), 0 10px 30px rgba(0,0,0,.4);
  --bp-scroll-offset: 96px;
}

[data-theme="light"] {
  --bp-text: #1A1220;
  --bp-text-strong: #1A1220;
  --bp-text-body: rgba(26,18,32,.82);
  --bp-text-muted: rgba(26,18,32,.66);
  --bp-text-faint: rgba(26,18,32,.5);
  --bp-rule: rgba(26,18,32,.1);
  --bp-rule-strong: rgba(26,18,32,.18);
  --bp-glass: rgba(255,255,255,.7);
  --bp-glass-strong: rgba(255,255,255,.86);
  --bp-glass-border: rgba(26,18,32,.08);
  --bp-glass-border-strong: rgba(26,18,32,.14);
  --bp-glass-shine: linear-gradient(135deg, rgba(255,255,255,.85) 0%, rgba(232,67,147,.05) 50%, transparent 100%);
  --bp-accent-soft: rgba(168,16,16,.1);
  --bp-shadow-1: 0 6px 22px rgba(26,18,32,.08);
  --bp-shadow-2: 0 18px 50px rgba(26,18,32,.12);
  --bp-shadow-3: 0 30px 90px rgba(26,18,32,.14);
}

html { scroll-padding-top: var(--bp-scroll-offset); }

[id] { scroll-margin-top: var(--bp-scroll-offset); }

.bp-section {
  position: relative;
  padding: clamp(64px, 9vw, 120px) 0;
  isolation: isolate;
}

.bp-section--hero {
  padding: clamp(120px, 16vw, 200px) 0 clamp(72px, 10vw, 120px);
  text-align: center;
}

.bp-section--alt { background: linear-gradient(180deg, transparent 0%, var(--bg2, rgba(0,0,0,.18)) 50%, transparent 100%); }

.bp-section--tight { padding: clamp(40px, 6vw, 72px) 0; }

.bp-con {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.bp-con--narrow { width: min(760px, calc(100% - 40px)); }

.bp-con--medium { width: min(960px, calc(100% - 44px)); }

.bp-con--wide { width: min(1400px, calc(100% - 48px)); }

.bp-stack > * + * { margin-top: var(--bp-stack); }

.bp-stack--lg > * + * { margin-top: 28px; }

.bp-stack--xl > * + * { margin-top: 44px; }

.bp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-style: italic;
  font-weight: 700;
  font-size: .74rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 100px;
  background: var(--bp-accent-soft);
  border: 1px solid rgba(230,26,26,.32);
  color: var(--p5l, #FF3B3B);
  margin-bottom: 18px;
}

.bp-eyebrow--quiet {
  background: var(--bp-glass);
  border-color: var(--bp-glass-border);
  color: var(--bp-text-muted);
}

.bp-eyebrow::before {
  content: '';
  width: 18px;
  height: 1px;
  background: currentColor;
  opacity: .7;
}

.bp-title {
  font-family: var(--fd, 'Playfair Display', Georgia, serif);
  font-weight: 900;
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--bp-text-strong);
  margin: 0 0 18px;
  text-wrap: balance;
}

.bp-title--xl { font-size: clamp(2.4rem, 6.2vw, 4.6rem); line-height: 1.02; }

.bp-title--sm { font-size: clamp(1.35rem, 2.4vw, 1.7rem); margin-bottom: 12px; }

.bp-title i, .bp-title em {
  font-style: italic;
  font-weight: 700;
  background: linear-gradient(135deg, var(--p5l, #FF3B3B), var(--pk, #d63384) 60%, var(--pu, #7C3AED));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bp-lead {
  font-family: var(--fb, 'DM Sans', system-ui, sans-serif);
  font-size: clamp(1rem, 1.15vw, 1.12rem);
  line-height: 1.75;
  color: var(--bp-text-body);
  max-width: 64ch;
  text-wrap: pretty;
}

.bp-lead--center { margin-left: auto; margin-right: auto; }

.bp-prose { color: var(--bp-text-body); line-height: 1.78; font-size: .98rem; }

.bp-prose p + p { margin-top: 14px; }

.bp-prose a {
  color: var(--bp-text-strong);
  border-bottom: 1px solid rgba(230,26,26,.55);
  text-decoration: none;
  transition: color .2s var(--bp-ease), border-color .2s var(--bp-ease);
}

.bp-prose a:hover, .bp-prose a:focus-visible { color: var(--p5l, #FF3B3B); border-bottom-color: var(--p5l, #FF3B3B); }

.bp-meta {
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-size: .76rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--bp-text-muted);
}

.bp-card {
  position: relative;
  padding: var(--bp-pad);
  border-radius: var(--bp-radius);
  background: var(--bp-glass);
  border: 1px solid var(--bp-glass-border);
  box-shadow: var(--bp-shadow-1);
  transition: transform .45s var(--bp-ease), border-color .3s, box-shadow .45s, background .3s;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}

.bp-card--glass {
  padding: 32px;
  background:
    var(--bp-glass-shine),
    var(--bp-glass-strong);
  border-color: var(--bp-glass-border-strong);
}

.bp-card--accent {
  border-color: rgba(230,26,26,.28);
  background: linear-gradient(180deg, var(--bp-accent-soft), var(--bp-glass));
}

.bp-card--accent::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 4px 0 0 4px;
  background: linear-gradient(180deg, var(--p5, #E61A1A), var(--pk, #d63384));
}

.bp-card--quiet { background: transparent; border-style: dashed; border-color: var(--bp-rule); box-shadow: none; }

.bp-card--interactive { cursor: pointer; }

.bp-card--interactive:hover, .bp-card--interactive:focus-within {
  transform: translateY(-4px) translateZ(0);
  border-color: rgba(230,26,26,.32);
  box-shadow: var(--bp-shadow-2);
}

.bp-card__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.bp-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.4rem;
  background: var(--bp-accent-soft);
  border: 1px solid rgba(230,26,26,.28);
  color: var(--p5l, #FF3B3B);
  flex-shrink: 0;
}

.bp-card__title {
  font-family: var(--fd, 'Playfair Display', Georgia, serif);
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--bp-text-strong);
  line-height: 1.25;
}

.bp-card__body { color: var(--bp-text-body); font-size: .92rem; line-height: 1.7; }

.bp-card__foot {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--bp-rule);
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.bp-grid { display: grid; gap: var(--bp-gap); }

.bp-grid--2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

.bp-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

.bp-grid--4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.bp-grid--split { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }

@media (max-width: 860px) { .bp-grid--split { grid-template-columns: 1fr; } }

.bp-btn {
  --bp-btn-bg: linear-gradient(135deg, var(--p5, #E61A1A), var(--p5d, #A81010));
  --bp-btn-fg: #fff;
  --bp-btn-border: rgba(255,255,255,.08);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 100px;
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-weight: 700;
  font-size: .86rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--bp-btn-fg);
  background: var(--bp-btn-bg);
  border: 1px solid var(--bp-btn-border);
  cursor: pointer;
  transition: transform .25s var(--bp-spring), box-shadow .3s var(--bp-ease), filter .2s;
  box-shadow: 0 10px 28px rgba(230,26,26,.32);
  position: relative;
  isolation: isolate;
}

.bp-btn:hover, .bp-btn:focus-visible { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(230,26,26,.45); }

.bp-btn:active { transform: translateY(0); }

.bp-btn:focus-visible { outline: none; box-shadow: var(--bp-focus), 0 10px 28px rgba(230,26,26,.32); }

.bp-btn[disabled], .bp-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; filter: grayscale(.3); }

.bp-btn--ghost {
  --bp-btn-bg: transparent;
  --bp-btn-fg: var(--bp-text-strong);
  --bp-btn-border: var(--bp-glass-border-strong);
  box-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.bp-btn--ghost:hover { background: var(--bp-glass); box-shadow: 0 6px 22px rgba(0,0,0,.2); }

.bp-btn--accent {
  --bp-btn-bg: linear-gradient(135deg, var(--gd, #F2B705), var(--p5, #E61A1A));
}

.bp-btn--quiet {
  --bp-btn-bg: var(--bp-glass);
  --bp-btn-fg: var(--bp-text-body);
  --bp-btn-border: var(--bp-glass-border);
  box-shadow: none;
}

.bp-btn--block { width: 100%; justify-content: center; }

.bp-btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.bp-btn-row--center { justify-content: center; }

.bp-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-weight: 700;
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 100px;
  background: var(--bp-glass);
  border: 1px solid var(--bp-glass-border);
  color: var(--bp-text-body);
}

.bp-chip--accent { background: var(--bp-accent-soft); border-color: rgba(230,26,26,.3); color: var(--p5l, #FF3B3B); }

.bp-chip--mint { background: rgba(0,212,170,.12); border-color: rgba(0,212,170,.3); color: var(--mn, #00D4AA); }

.bp-chip--gold { background: rgba(255,215,0,.12); border-color: rgba(255,215,0,.3); color: var(--gd, #F2B705); }

.bp-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }

.bp-list--bullets li {
  position: relative;
  padding-left: 26px;
  color: var(--bp-text-body);
  line-height: 1.65;
  font-size: .95rem;
}

.bp-list--bullets li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: .65em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--p5, #E61A1A), var(--pk, #d63384));
  box-shadow: 0 0 0 3px rgba(230,26,26,.15);
}

.bp-list--checks li { position: relative; padding-left: 32px; color: var(--bp-text-body); line-height: 1.65; font-size: .95rem; }

.bp-list--checks li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: .35em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--bp-accent-soft);
  border: 1px solid rgba(230,26,26,.3);
}

.bp-list--checks li::after {
  content: '';
  position: absolute;
  left: 7px;
  top: .68em;
  width: 4px;
  height: 8px;
  border: solid var(--p5l, #FF3B3B);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.bp-list--ordered { counter-reset: bp-li; }

.bp-list--ordered li { position: relative; padding-left: 44px; color: var(--bp-text-body); line-height: 1.65; counter-increment: bp-li; min-height: 28px; }

.bp-list--ordered li::before {
  content: counter(bp-li, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 28px;
  display: grid;
  place-items: center;
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .08em;
  color: var(--p5l, #FF3B3B);
  background: var(--bp-accent-soft);
  border: 1px solid rgba(230,26,26,.28);
  border-radius: 8px;
}

.bp-divider { border: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--bp-rule-strong), transparent); margin: var(--bp-gap-lg) 0; }

.bp-rule { border: 0; height: 1px; background: var(--bp-rule); margin: 24px 0; }

.bp-quote {
  position: relative;
  font-family: var(--fd, 'Playfair Display', Georgia, serif);
  font-style: italic;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.5;
  color: var(--bp-text-strong);
  padding: 28px 32px 28px 56px;
  border-left: 3px solid var(--p5, #E61A1A);
  background: linear-gradient(135deg, var(--bp-accent-soft), transparent 70%);
  border-radius: 0 var(--bp-radius) var(--bp-radius) 0;
  text-wrap: pretty;
}

.bp-quote::before {
  content: '\201C';
  position: absolute;
  top: 4px;
  left: 18px;
  font-family: var(--fd, 'Playfair Display', Georgia, serif);
  font-size: 3.4rem;
  line-height: 1;
  color: var(--p5l, #FF3B3B);
  opacity: .8;
}

.bp-quote__attr {
  display: block;
  margin-top: 16px;
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-style: italic;
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bp-text-muted);
}

.bp-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0;
  padding: 28px;
  border-radius: var(--bp-radius);
  background: var(--bp-glass);
  border: 1px solid var(--bp-glass-border);
}

.bp-stat { padding: 12px 18px; text-align: center; position: relative; }

.bp-stat + .bp-stat::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: var(--bp-rule);
}

.bp-stat__num {
  display: block;
  font-family: var(--fd, 'Playfair Display', Georgia, serif);
  font-weight: 900;
  font-size: clamp(1.7rem, 3.4vw, 2.6rem);
  line-height: 1;
  background: linear-gradient(135deg, #fff 30%, var(--p5l, #FF3B3B));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 6px;
}

[data-theme="light"] .bp-stat__num { background: linear-gradient(135deg, #1A1220 30%, var(--p5, #E61A1A)); -webkit-background-clip: text; background-clip: text; }

.bp-stat__label { font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bp-text-muted); }

@media (max-width: 600px) { .bp-stat + .bp-stat::before { display: none; } }

.bp-note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 22px;
  border-radius: var(--bp-radius-sm);
  background: var(--bp-glass);
  border: 1px solid var(--bp-glass-border);
  font-size: .9rem;
  line-height: 1.6;
  color: var(--bp-text-body);
}

.bp-note__icon { font-size: 1.05rem; flex-shrink: 0; padding-top: 1px; }

.bp-note__title { font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif); font-weight: 700; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bp-text-strong); margin-bottom: 4px; }

.bp-note--info { border-color: rgba(56,189,248,.3); background: linear-gradient(180deg, rgba(56,189,248,.08), var(--bp-glass)); }

.bp-note--info .bp-note__title { color: var(--bloom-sky, #38BDF8); }

.bp-note--accent { border-color: rgba(230,26,26,.3); background: linear-gradient(180deg, rgba(230,26,26,.08), var(--bp-glass)); }

.bp-note--accent .bp-note__title { color: var(--p5l, #FF3B3B); }

.bp-note--warn { border-color: rgba(255,215,0,.3); background: linear-gradient(180deg, rgba(255,215,0,.08), var(--bp-glass)); }

.bp-note--warn .bp-note__title { color: var(--gd, #F2B705); }

.bp-field { display: grid; gap: 8px; position: relative; }

.bp-label {
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-weight: 700;
  font-size: .74rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bp-text-muted);
}

.bp-label .bp-required { color: var(--p5l, #FF3B3B); margin-left: 4px; }

.bp-input, .bp-textarea, .bp-select {
  width: 100%;
  padding: 14px 16px;
  font-family: var(--fb, 'DM Sans', system-ui, sans-serif);
  font-size: .95rem;
  color: var(--bp-text);
  background: var(--input-bg, rgba(255,255,255,.06));
  border: 1px solid var(--input-border, rgba(255,255,255,.12));
  border-radius: var(--bp-radius-sm);
  transition: border-color .2s, box-shadow .2s, background .2s;
  appearance: none;
  -webkit-appearance: none;
}

.bp-input:hover, .bp-textarea:hover, .bp-select:hover { border-color: var(--bp-glass-border-strong); }

.bp-input:focus, .bp-textarea:focus, .bp-select:focus {
  outline: none;
  border-color: var(--p5, #E61A1A);
  box-shadow: var(--bp-focus);
  background: rgba(255,255,255,.08);
}

[data-theme="light"] .bp-input:focus, [data-theme="light"] .bp-textarea:focus, [data-theme="light"] .bp-select:focus { background: #fff; }

.bp-input::placeholder, .bp-textarea::placeholder { color: var(--bp-text-faint); }

.bp-textarea { min-height: 140px; resize: vertical; line-height: 1.6; }

.bp-select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) center, calc(100% - 14px) center; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 40px; }

.bp-help { font-size: .8rem; color: var(--bp-text-faint); }

.bp-error { font-size: .82rem; color: var(--p5l, #FF3B3B); font-weight: 500; }

.bp-form { display: grid; gap: 18px; }

.bp-form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }

.bp-checkbox { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; line-height: 1.55; color: var(--bp-text-body); font-size: .92rem; }

.bp-checkbox input { margin-top: 3px; accent-color: var(--p5, #E61A1A); width: 16px; height: 16px; cursor: pointer; }

.bp-kbd {
  font-family: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .82rem;
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--bp-glass-strong);
  border: 1px solid var(--bp-glass-border-strong);
  color: var(--bp-text-strong);
}

.bp-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif); font-weight: 700; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; background: var(--bp-glass); border: 1px solid var(--bp-glass-border); color: var(--bp-text-muted); }

.bp-tag--accent { background: var(--bp-accent-soft); border-color: rgba(230,26,26,.32); color: var(--p5l, #FF3B3B); }

.bp-team { text-align: center; }

.bp-team__avatar {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  font-size: 2.2rem;
  background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.18), transparent 60%), linear-gradient(135deg, rgba(230,26,26,.22), rgba(124,58,237,.16));
  border: 2px solid rgba(230,26,26,.32);
  box-shadow: 0 18px 40px rgba(230,26,26,.18), inset 0 0 0 1px rgba(255,255,255,.06);
  position: relative;
}

.bp-team__name { font-family: var(--fd, 'Playfair Display', Georgia, serif); font-weight: 700; font-size: 1.1rem; color: var(--bp-text-strong); margin-bottom: 4px; line-height: 1.2; }

.bp-team__role { font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif); font-style: italic; font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--p5l, #FF3B3B); margin-bottom: 14px; }

.bp-team__bio { font-size: .88rem; line-height: 1.7; color: var(--bp-text-body); }

.bp-tl { display: grid; gap: 20px; position: relative; padding-left: 0; }

.bp-tl__step { position: relative; padding: 22px 24px 22px 64px; border-radius: var(--bp-radius); background: var(--bp-glass); border: 1px solid var(--bp-glass-border); transition: border-color .3s, transform .35s var(--bp-ease); }

.bp-tl__step:hover { border-color: rgba(230,26,26,.28); transform: translateX(2px); }

.bp-tl__num {
  position: absolute;
  left: 18px;
  top: 22px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-weight: 900;
  font-size: .82rem;
  color: var(--p5l, #FF3B3B);
  background: var(--bp-accent-soft);
  border: 1px solid rgba(230,26,26,.32);
}

.bp-tl__title { font-family: var(--fd, 'Playfair Display', Georgia, serif); font-size: 1.04rem; font-weight: 700; color: var(--bp-text-strong); margin-bottom: 6px; }

.bp-tl__body { color: var(--bp-text-body); font-size: .9rem; line-height: 1.65; }

.bp-faq { display: grid; gap: 14px; }

.bp-faq details {
  background: var(--bp-glass);
  border: 1px solid var(--bp-glass-border);
  border-radius: var(--bp-radius);
  padding: 18px 24px;
  transition: border-color .3s, background .3s;
}

.bp-faq details[open] { border-color: rgba(230,26,26,.28); background: linear-gradient(180deg, var(--bp-accent-soft), var(--bp-glass)); }

.bp-faq summary { list-style: none; cursor: pointer; font-family: var(--fd, 'Playfair Display', Georgia, serif); font-weight: 700; font-size: 1rem; color: var(--bp-text-strong); display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.bp-faq summary::-webkit-details-marker { display: none; }

.bp-faq summary::after { content: '+'; font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif); font-weight: 700; font-size: 1.4rem; color: var(--p5l, #FF3B3B); transition: transform .25s var(--bp-ease); line-height: 1; flex-shrink: 0; }

.bp-faq details[open] summary::after { transform: rotate(45deg); }

.bp-faq__body { margin-top: 14px; color: var(--bp-text-body); font-size: .92rem; line-height: 1.7; }

.bp-aurora {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
  border-radius: inherit;
}

.bp-aurora__blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: .55;
  mix-blend-mode: screen;
  will-change: transform;
}

.bp-aurora__blob--rose { width: 520px; height: 520px; top: -180px; left: -120px; background: radial-gradient(circle, var(--aurora-rose, #e84393), transparent 60%); }

.bp-aurora__blob--violet { width: 560px; height: 560px; top: 30%; right: -180px; background: radial-gradient(circle, var(--aurora-violet, #7c3aed), transparent 60%); }

.bp-aurora__blob--crimson { width: 460px; height: 460px; bottom: -160px; left: 30%; background: radial-gradient(circle, var(--aurora-crimson, #e61a1a), transparent 60%); }

[data-theme="light"] .bp-aurora__blob { opacity: .22; mix-blend-mode: multiply; }

@keyframes bp-aurora-drift-a { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(20px, -30px, 0) scale(1.08); } }

@keyframes bp-aurora-drift-b { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(-30px, 20px, 0) scale(1.1); } }

@keyframes bp-aurora-drift-c { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(15px, 25px, 0) scale(.94); } }

@media (prefers-reduced-motion: no-preference) {
  .bp-aurora__blob--rose { animation: bp-aurora-drift-a 18s ease-in-out infinite; }
  .bp-aurora__blob--violet { animation: bp-aurora-drift-b 22s ease-in-out infinite; }
  .bp-aurora__blob--crimson { animation: bp-aurora-drift-c 26s ease-in-out infinite; }
}

.bp-grain::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .04;
  z-index: 1;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.bp-petal {
  position: absolute;
  width: 28px;
  height: 28px;
  border-radius: 56% 44% 60% 40% / 60% 50% 50% 40%;
  background: radial-gradient(circle at 30% 30%, rgba(255,107,107,.7), rgba(230,26,26,.18) 60%, transparent 80%);
  opacity: .55;
  pointer-events: none;
  z-index: 1;
  will-change: transform;
}

@keyframes bp-petal-fall { 0% { transform: translate3d(0,-12vh, 20px) rotate(0deg); } 100% { transform: translate3d(40px, 110vh, 20px) rotate(360deg); } }

@media (prefers-reduced-motion: no-preference) {
  .bp-petal--a { animation: bp-petal-fall 18s linear infinite; }
  .bp-petal--b { animation: bp-petal-fall 22s linear infinite 4s; }
  .bp-petal--c { animation: bp-petal-fall 26s linear infinite 8s; }
}

.bp-empty {
  text-align: center;
  padding: 56px 32px;
  border-radius: var(--bp-radius);
  background: var(--bp-glass);
  border: 1px dashed var(--bp-rule-strong);
}

.bp-empty__art { font-size: 2.6rem; margin-bottom: 14px; opacity: .82; line-height: 1; }

.bp-empty__title { font-family: var(--fd, 'Playfair Display', Georgia, serif); font-size: 1.35rem; font-weight: 700; color: var(--bp-text-strong); margin-bottom: 8px; }

.bp-empty__body { color: var(--bp-text-body); font-size: .96rem; line-height: 1.7; max-width: 52ch; margin: 0 auto 22px; }

.bp-toc { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 22px; border-radius: var(--bp-radius); background: var(--bp-glass); border: 1px solid var(--bp-glass-border); }

.bp-toc a {
  font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif);
  font-weight: 700;
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--bp-text-muted);
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid transparent;
  transition: color .2s, background .2s, border-color .2s;
}

.bp-toc a:hover, .bp-toc a:focus-visible { color: var(--bp-text-strong); background: var(--bp-glass-strong); border-color: var(--bp-glass-border-strong); outline: none; }

.bp-kv { display: grid; grid-template-columns: minmax(160px, 28%) 1fr; gap: 8px 20px; padding: 18px 0; border-bottom: 1px solid var(--bp-rule); align-items: baseline; }

.bp-kv:last-child { border-bottom: 0; }

.bp-kv dt { font-family: var(--fc, 'Barlow Condensed', Impact, sans-serif); font-weight: 700; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bp-text-muted); }

.bp-kv dd { color: var(--bp-text-body); font-size: .94rem; line-height: 1.65; margin: 0; }

@media (max-width: 600px) { .bp-kv { grid-template-columns: 1fr; gap: 4px; } }

.bp-section--hero .bp-con { z-index: 3; }

.bp-section .bp-aurora { z-index: 0; }

.bp-section .bp-card, .bp-section .bp-grid, .bp-section .bp-con > * { position: relative; z-index: 2; }

.bp-section--hero::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: min(900px, 100%);
  height: clamp(360px, 50%, 540px);
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center top, rgba(230,26,26,.10), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

.bp-skip {
  position: absolute;
  left: 8px;
  top: -40px;
  background: var(--p5, #E61A1A);
  color: #fff;
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 700;
  font-size: .85rem;
  text-decoration: none;
  z-index: 9999;
  transition: top .2s;
}

.bp-skip:focus-visible { top: 8px; outline: 2px solid #fff; outline-offset: 2px; }

.bp-mt-0 { margin-top: 0 !important; }
.bp-mt-1 { margin-top: 8px !important; }
.bp-mt-2 { margin-top: 16px !important; }
.bp-mt-3 { margin-top: 24px !important; }
.bp-mt-4 { margin-top: 40px !important; }
.bp-mt-5 { margin-top: 64px !important; }
.bp-mb-0 { margin-bottom: 0 !important; }
.bp-mb-2 { margin-bottom: 16px !important; }
.bp-mb-3 { margin-bottom: 24px !important; }
.bp-mb-4 { margin-bottom: 40px !important; }
.bp-text-center { text-align: center; }
.bp-text-balance { text-wrap: balance; }
.bp-no-margin > * { margin: 0; }

@media (max-width: 720px) {
  :root { --bp-pad: 24px; --bp-pad-lg: 32px; --bp-gap: 18px; --bp-gap-lg: 24px; }
  .bp-card--glass { padding: 24px; }
  .bp-quote { padding: 22px 22px 22px 48px; font-size: 1.1rem; }
  .bp-quote::before { font-size: 2.6rem; left: 14px; }
}

@media (forced-colors: active) {
  .bp-card, .bp-input, .bp-textarea, .bp-select, .bp-btn { border: 1px solid CanvasText; }
  .bp-btn { background: ButtonFace; color: ButtonText; }
}

@media (prefers-reduced-motion: reduce) {
  .bp-card, .bp-btn, .bp-tl__step, .bp-faq details, .bp-input, .bp-textarea, .bp-select { transition: none; }
}
