/* ═══════════════════════════════════════════════════════════════
   Burke Williams — Impact Page  |  Figma node: 2016:72222
   ═══════════════════════════════════════════════════════════════ */

/* Hero — fill:#335d88 solid */
.bw-imp-hero {
  background: #335d88; padding: 80px 120px; min-height: 480px;
  display: flex; align-items: flex-end;
}
.bw-imp-hero-panel { max-width: 700px; display: flex; flex-direction: column; gap: 20px; }
.bw-imp-hero-heading { margin: 0; }
.bw-imp-h-display { display: block; font-family: var(--font-display); font-size: 60px; font-weight: 350; line-height: 72px; color: #fffdf8; }
.bw-imp-h-script { display: block; font-family: var(--font-script); font-size: 60px; font-weight: 400; line-height: 72px; color: #fffdf8; font-style: normal; }
.bw-imp-hero-desc { font-family: var(--font-body); font-size: 20px; font-weight: 400; line-height: 24px; color: #fffdf8; max-width: 580px; margin: 0; }
.bw-imp-hero-cta {
  display: inline-flex; align-items: center; height: 44px; padding: 0 24px;
  border-radius: 100px; border: 1px solid rgba(255,253,248,0.75); background: transparent;
  color: #fffdf8; font-family: var(--font-body); font-size: 16px; font-weight: 600;
  letter-spacing: 0.32px; text-decoration: none; text-transform: uppercase; align-self: flex-start;
  transition: background 0.25s;
}
.bw-imp-hero-cta:hover { background: rgba(255,253,248,0.15); }

/* Foundation section — pad=100/121/100/121 vertical gap=40 */
.bw-imp-foundation { background: #fffdf8; padding: 100px 121px; }
.bw-imp-foundation-inner { max-width: 1678px; margin-inline: auto; display: flex; flex-direction: column; gap: 100px; }
/* Grid row — HORIZONTAL gap=111 */
.bw-imp-grid-row { display: flex; gap: 111px; align-items: center; }
.bw-imp-grid-row--reverse { flex-direction: row-reverse; align-items: flex-start; gap: 145px; }
/* Image [715×479] radius:40px */
.bw-imp-img-wrap {
  flex-shrink: 0; position: relative;
  width: 715px; height: 479px; border-radius: 40px; overflow: hidden;
}
.bw-imp-img-wrap--tall { width: 852px; height: 953px; }
.bw-imp-img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Blue Heart Warriors logo overlay [463×177] */
.bw-imp-logo-overlay {
  position: absolute; bottom: 24px; left: 24px;
  width: 463px; max-width: 80%; background: rgba(255,255,255,0.9);
  border-radius: 10px; padding: 12px 16px;
}
.bw-imp-logo { width: 100%; height: auto; object-fit: contain; display: block; }
/* Text block */
.bw-imp-text-block { flex: 1; display: flex; flex-direction: column; gap: 24px; }
/* "Blue Heart Warriors" Teodor 60px + "Foundation" La Belle Aurore 60px */
.bw-imp-h2-display { display: block; font-family: var(--font-display); font-size: 60px; font-weight: 350; line-height: 72px; color: #335d88; }
.bw-imp-h2-script { display: block; font-family: var(--font-script); font-size: 60px; font-weight: 400; line-height: 72px; color: #335d88; font-style: normal; }
.bw-imp-section-title { margin: 0; }
.bw-imp-section-desc { font-family: var(--font-body); font-size: 24px; font-weight: 400; line-height: 28.8px; color: #676767; margin: 0; }
.bw-imp-cta {
  display: inline-flex; align-items: center; height: 44px; padding: 0 24px;
  border-radius: 100px; border: 1px solid #335d88; background: transparent; color: #335d88;
  font-family: var(--font-body); font-size: 16px; font-weight: 600; text-decoration: none;
  align-self: flex-start; transition: background 0.25s, color 0.25s;
}
.bw-imp-cta:hover { background: #335d88; color: #fff; }
/* Pillars vertical gap=50 */
.bw-imp-pillars { flex: 1; display: flex; flex-direction: column; gap: 50px; }
.bw-imp-pillar { display: flex; flex-direction: column; gap: 16px; }
/* Teodor 32px wt=400 lh=35.2px TITLE #335d88 */
.bw-imp-pillar-title { font-family: var(--font-display); font-size: 32px; font-weight: 400; line-height: 35.2px; color: #335d88; margin: 0; text-transform: capitalize; }
.bw-imp-pillar-desc { font-family: var(--font-body); font-size: 24px; font-weight: 400; line-height: 28.8px; color: #676767; margin: 0; }

@media (max-width: 1400px) { .bw-imp-hero { padding: 64px; } .bw-imp-foundation { padding: 80px 64px; } }
@media (max-width: 1100px) {
  .bw-imp-grid-row, .bw-imp-grid-row--reverse { flex-direction: column; gap: 48px; }
  .bw-imp-img-wrap, .bw-imp-img-wrap--tall { width: 100%; height: 380px; }
  .bw-imp-logo-overlay { width: 70%; }
}
@media (max-width: 768px) {
  .bw-imp-hero { padding: 120px 24px 80px; min-height: auto; }
  .bw-imp-h-display, .bw-imp-h-script { font-size: clamp(36px, 8vw, 60px); line-height: 1.1; }
  .bw-imp-foundation { padding: 48px 24px; }
  .bw-imp-h2-display, .bw-imp-h2-script, .bw-imp-section-desc { font-size: clamp(28px, 5vw, 48px); line-height: 1.1; }
  .bw-imp-pillar-title { font-size: 22px; }
  .bw-imp-pillar-desc { font-size: 16px; }
}
