.bruker-v2 {
  --brand: #176fc1;
  --brand-deep: #082e59;
  --brand-soft: #edf7fb;
  --accent: #35c9ce;
  --ink: #12283c;
  --text: #405768;
  --muted: #71818d;
  --line: #d8e7ed;
  --paper: #f5fafc;
  --shadow: 0 24px 64px -38px rgba(8, 46, 89, .34);
}

.bruker-v2 .topbar { box-shadow: 0 8px 30px -26px rgba(8, 46, 89, .42); }
.bruker-v2 .nav-links a { transition: color .2s ease, border-color .2s ease; }
.bruker-v2 .nav-links a:focus-visible,
.bruker-v2 .btn:focus-visible,
.bruker-v2 button:focus-visible,
.bruker-v2 [data-lightbox]:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 76%, white); outline-offset: 4px; }

.bruker-v2 .hero { min-height: 660px; }
.bruker-v2 .hero::before {
  background:
    linear-gradient(90deg, rgba(5, 33, 66, .99) 0%, rgba(8, 52, 94, .95) 42%, rgba(18, 103, 168, .32) 66%, rgba(255, 255, 255, .04) 100%),
    var(--hero-image) right center / cover no-repeat;
}
.bruker-v2 .hero::after { border-top-width: 8px; bottom: -180px; }
.bruker-v2 .hero-inner { min-height: 660px; padding-bottom: 118px; padding-top: 60px; }
.bruker-v2 .brand-lockup { align-items: center; display: inline-flex; gap: 14px; margin-bottom: 28px; }
.bruker-v2 .brand-lockup img { background: rgba(255, 255, 255, .96); border-radius: 10px; height: 68px; object-fit: contain; padding: 6px 10px; width: 126px; }
.bruker-v2 .brand-lockup span { color: rgba(255, 255, 255, .64); font-size: .68rem; font-weight: 900; letter-spacing: .16em; line-height: 1.4; max-width: 130px; }
.bruker-v2 .hero h1 { font-size: clamp(3rem, 5vw, 4.5rem); letter-spacing: -.03em; }
.bruker-v2 .hero-lead { font-size: 1.02rem; max-width: 610px; text-wrap: pretty; }
.bruker-v2 .btn { min-height: 48px; }
.bruker-v2 .hero-card { backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .72); bottom: 126px; padding: 28px; width: 352px; }
.bruker-v2 .hero-card-kicker { color: var(--brand); font-size: .66rem; font-weight: 950; letter-spacing: .15em; margin-bottom: 9px; }
.bruker-v2 .hero-card h2 { font-size: 1.24rem; }
.bruker-v2 .hero-meta div { background: color-mix(in srgb, var(--brand-soft) 82%, white); border: 0; border-left: 3px solid var(--accent); border-radius: 8px; }

.bruker-v2 main section:not(.hero) { padding: 88px 0; }
.bruker-v2 .section-head { gap: 50px; margin-bottom: 36px; }
.bruker-v2 .section-head h2 { letter-spacing: -.025em; }
.bruker-v2 .section-head p { font-size: 1rem; text-wrap: pretty; }
.bruker-v2 .article-card,
.bruker-v2 .cap-card,
.bruker-v2 .strength-card,
.bruker-v2 .product-card { border-color: var(--line); box-shadow: var(--shadow); }
.bruker-v2 .article-card { padding: 36px; }
.bruker-v2 .article-card::before { width: 4px; }
.bruker-v2 .company-figure { margin-top: 24px; position: relative; }
.bruker-v2 .company-photo { margin: 0; }
.bruker-v2 .company-figure figcaption { background: rgba(8, 46, 89, .9); bottom: 12px; color: #fff; font-size: .78rem; font-weight: 800; left: 12px; max-width: calc(100% - 24px); padding: 8px 12px; position: absolute; }
.bruker-v2 .cap-card { background: linear-gradient(155deg, #fff 0%, #fff 62%, var(--brand-soft) 150%); padding: 36px; }
.bruker-v2 .cap-card h2 { font-size: 1.85rem; }
.bruker-v2 .cap-grid { margin-top: 18px; }
.bruker-v2 .cap-item { min-height: 110px; }

.bruker-v2 .process { background: linear-gradient(180deg, #fff 0%, var(--brand-soft) 100%); }
.bruker-v2 .process-rail { gap: 14px; position: relative; }
.bruker-v2 .process-rail::before { background: color-mix(in srgb, var(--brand) 24%, transparent); content: ""; height: 2px; left: 8%; position: absolute; right: 8%; top: 34px; }
.bruker-v2 .process-step { background: rgba(255, 255, 255, .72); border: 1px solid color-mix(in srgb, var(--brand) 10%, transparent); border-radius: 14px; padding: 18px 12px 20px; position: relative; }
.bruker-v2 .step-badge { border-color: color-mix(in srgb, var(--brand) 32%, transparent); box-shadow: 0 14px 34px -24px rgba(8, 46, 89, .7); position: relative; z-index: 1; }
.bruker-v2 .process-step span { min-height: 42px; }

.bruker-v2 .strength-section { background: #fff; }
.bruker-v2 .strength-grid { gap: 18px; }
.bruker-v2 .strength-card { border-top: 0; overflow: hidden; padding: 28px; position: relative; }
.bruker-v2 .strength-card::before { background: linear-gradient(90deg, var(--brand), var(--accent)); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.bruker-v2 .metrics .strength-card:nth-child(even) { border-top: 0; }

.bruker-v2 .products { background: linear-gradient(180deg, #fff 0%, var(--brand-soft) 130%); }
.bruker-v2 .product-stack { gap: 24px; }
.bruker-v2 .product-card { min-height: 390px; }
.bruker-v2 .product-card.reverse { grid-template-columns: minmax(330px, 42%) minmax(0, 1fr); }
.bruker-v2 .product-media { background: linear-gradient(145deg, #f8fbfc, #e9f4f8); }
.bruker-v2 .product-media.contain { padding: 28px; }
.bruker-v2 .product-media.contain img { mix-blend-mode: multiply; transition: transform .28s ease; }
.bruker-v2 .product-card:hover .product-media img { transform: scale(1.025); }
.bruker-v2 .product-copy { padding: 44px; }
.bruker-v2 .product-copy h3 { color: var(--brand-deep); font-size: 1.85rem; }
.bruker-v2 .product-no { align-items: center; display: flex; gap: 12px; }
.bruker-v2 .product-no::after { background: var(--accent); content: ""; height: 2px; width: 42px; }

.bruker-v2 .info-band { background: linear-gradient(120deg, #062849, #0b4e7c 58%, #107f9f); }
.bruker-v2 .info-band::after { border-width: 58px; opacity: .86; }
.bruker-v2 .contact-card { background: rgba(255, 255, 255, .94); border-color: rgba(255, 255, 255, .74); color: var(--ink); }
.bruker-v2 .contact-card img { height: 64px; margin-bottom: 18px; object-fit: contain; object-position: left center; width: 118px; }
.bruker-v2 .contact-card p { color: var(--text); }
.bruker-v2 .contact-card .btn { background: var(--brand-deep); color: #fff; }

.bruker-v2 [data-lightbox] { border-radius: 12px; }
.bruker-v2 footer { background: #06243c; }

@media (max-width: 1040px) {
  .bruker-v2 .hero-inner { padding-bottom: 128px; }
  .bruker-v2 .hero-card { bottom: auto; }
  .bruker-v2 .process-rail::before { display: none; }
  .bruker-v2 .product-card.reverse { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .bruker-v2 .menu-btn { height: 44px; width: 44px; }
  .bruker-v2 .hero::before {
    background:
      linear-gradient(180deg, rgba(5, 33, 66, .97), rgba(8, 52, 94, .93)),
      var(--hero-image) center / cover no-repeat;
  }
  .bruker-v2 .hero-inner { padding-bottom: 112px; padding-top: 40px; }
  .bruker-v2 .brand-lockup { margin-bottom: 22px; }
  .bruker-v2 .brand-lockup img { height: 58px; width: 108px; }
  .bruker-v2 .brand-lockup span { display: none; }
  .bruker-v2 .hero h1 { font-size: clamp(2.45rem, 11vw, 3.35rem); }
  .bruker-v2 .hero-card { padding: 24px; }
  .bruker-v2 main section:not(.hero) { padding: 68px 0; }
  .bruker-v2 .article-card,
  .bruker-v2 .cap-card,
  .bruker-v2 .product-copy,
  .bruker-v2 .contact-card { padding: 24px; }
  .bruker-v2 .company-figure figcaption { bottom: 8px; left: 8px; max-width: calc(100% - 16px); }
  .bruker-v2 .process-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bruker-v2 .process-step { padding-inline: 10px; }
  .bruker-v2 .process-step:last-child { grid-column: 1 / -1; }
  .bruker-v2 .process-step span { min-height: 0; }
  .bruker-v2 .strength-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bruker-v2 .strength-card { padding: 22px 18px; }
  .bruker-v2 .product-card,
  .bruker-v2 .product-card.reverse { display: flex; flex-direction: column; }
  .bruker-v2 .product-media { min-height: 260px; order: 1; }
  .bruker-v2 .product-copy { order: 2; }
}

@media (max-width: 520px) {
  .bruker-v2 .expo-title { font-size: .84rem; }
  .bruker-v2 .hero-actions { gap: 10px; }
  .bruker-v2 .hero-card { border-radius: 15px; }
  .bruker-v2 .section-head { margin-bottom: 28px; }
  .bruker-v2 .strength-card strong { font-size: 1.25rem; }
  .bruker-v2 .strength-card h3 { font-size: .98rem; }
  .bruker-v2 .product-copy h3 { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .bruker-v2 .product-media.contain img { transition: none; }
}
