/* ── BU PAGE SPECIFIC ── */
body { background: var(--black); color: var(--cream); font-family: 'Barlow', sans-serif; }
.bu-page-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 48px; height: 72px; background: rgba(8,8,8,0.95); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.bu-page-nav a.nav-logo img { height: 32px; }
.bu-page-nav a.nav-back { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray); text-decoration: none; display: flex; align-items: center; gap: 8px; transition: color 0.2s; }
.bu-page-nav a.nav-back:hover { color: var(--lime); }
.bu-page-nav .nav-right { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: 0.2em; color: var(--gray); }
.bu-hero { padding: 160px 48px 80px; display: grid; grid-template-columns: 280px 1fr; gap: 80px; align-items: end; border-bottom: 1px solid var(--border); }
.bu-hero-num { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.35em; text-transform: uppercase; color: var(--gray); }
.bu-hero-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(48px,6vw,80px); font-weight: 800; text-transform: uppercase; line-height: 0.9; color: var(--white); }
.bu-hero-title span { color: var(--lime); }
.bu-hero-sub { font-size: 18px; font-weight: 300; color: var(--silver); line-height: 1.6; margin-top: 24px; max-width: 560px; }
.bu-tabs { position: sticky; top: 72px; z-index: 90; display: flex; gap: 0; background: var(--charcoal); border-bottom: 1px solid var(--border); overflow-x: auto; }
.bu-tab { flex-shrink: 0; padding: 20px 32px; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray); text-decoration: none; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; white-space: nowrap; }
.bu-tab:hover { color: var(--white); }
.bu-tab.active { color: var(--lime); border-bottom-color: var(--lime); }
.bu-section { padding: 100px 48px; border-bottom: 1px solid var(--border); scroll-margin-top: 150px; }
.bu-section-header { display: grid; grid-template-columns: 280px 1fr; gap: 80px; align-items: start; margin-bottom: 64px; }
.bu-section-num { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.35em; text-transform: uppercase; color: var(--lime); }
.bu-section-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(36px,5vw,64px); font-weight: 800; text-transform: uppercase; line-height: 0.92; color: var(--white); margin-bottom: 16px; }
.bu-section-intro { font-size: 16px; font-weight: 300; color: var(--silver); line-height: 1.7; max-width: 680px; }
.bu-body { display: grid; grid-template-columns: 280px 1fr; gap: 80px; }
.bu-content p { font-size: 15px; font-weight: 300; color: var(--silver); line-height: 1.8; margin-bottom: 20px; }
.bu-content strong { color: var(--cream); font-weight: 500; }
.bu-content h4 { font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lime); margin: 40px 0 12px; padding-top: 40px; border-top: 1px solid var(--border); }
.bu-content h4:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.bu-block { padding: 48px 48px 0; }
.bu-block--text { display: grid; grid-template-columns: 280px 1fr; gap: 80px; padding-bottom: 48px; }
.bu-block--img-left { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--border); padding: 0; margin-top: 48px; }
.bu-block-img { overflow: hidden; }
.bu-block-img img { width: 100%; height: 100%; object-fit: cover; min-height: 320px; filter: brightness(0.85); transition: filter 0.4s; display: block; }
.bu-block-img img:hover { filter: brightness(1); }
.bu-block-content { padding: 48px; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.bu-block-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(22px, 2.5vw, 32px); font-weight: 700; text-transform: uppercase; color: var(--white); line-height: 1.1; letter-spacing: 0.02em; }
.bu-block-content p { font-size: 15px; font-weight: 300; color: var(--silver); line-height: 1.8; }
.bu-block-content strong { color: var(--cream); font-weight: 500; }
.bu-back-home { display: block; text-align: center; padding: 80px 48px; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gray); text-decoration: none; transition: color 0.2s; }
.bu-back-home:hover { color: var(--lime); }
@media (max-width: 768px) {
  .bu-page-nav { padding: 0 20px; }
  .bu-hero { padding: 120px 20px 60px; grid-template-columns: 1fr; gap: 16px; }
  .bu-tabs { padding: 0 20px; scroll-padding-inline: 50%; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .bu-tab { padding: 16px 20px; scroll-snap-align: center; }
  .bu-tabs::after { content: "→"; position: sticky; right: 0; align-self: center; padding: 0 4px 0 12px; color: var(--lime); background: linear-gradient(90deg, transparent, var(--charcoal) 35%); pointer-events: none; }
  .bu-section { padding: 60px 20px; }
  .bu-section-header { grid-template-columns: 1fr; gap: 20px; }
  .bu-body { grid-template-columns: 1fr; gap: 32px; }
  .bu-body-left { display: none; }
  .bu-block--text { grid-template-columns: 1fr; gap: 24px; padding: 40px 20px; }
  .bu-block--img-left { grid-template-columns: 1fr; padding: 0; }
  .bu-block-img img { min-height: 240px; }
  .bu-block-content { padding: 32px 20px; }
  .bu-block { padding: 0; }
}


/* Stable image boxes prevent lazy-loaded assets from shifting section anchors. */
.bu-block-img { aspect-ratio: var(--bu-image-ratio, 1652 / 842); }
.bu-block-img img { aspect-ratio: inherit; }

.bu-block-img picture { display: block; width: 100%; height: 100%; }
@media (min-width: 769px) and (max-width: 1100px) {
  .bu-hero, .bu-section-header, .bu-body, .bu-block--text { grid-template-columns: 180px 1fr; gap: 40px; }
  .bu-block { padding-inline: 32px; }
  .bu-block-content { padding: 36px; }
}
