:root {
  --bes-navy: #0c2237;
  --bes-blue: #1d9bd7;
  --bes-blue-dark: #1179ad;
  --bes-slate: #243b53;
  --bes-soft: #f4f8fb;
  --bes-card: #ffffff;
  --bes-text: #1f2d3d;
  --bes-muted: #5d6b7a;
  --bes-border: #dbe7ef;
  --bes-shadow: 0 18px 45px rgba(12, 34, 55, .14);
}
.bes-home, .bes-home * { box-sizing: border-box; }
.bes-home { margin: 0; color: var(--bes-text); font-family: Arial, Helvetica, sans-serif; line-height: 1.7; }
.bes-wrap { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.bes-hero { color: #fff; background-position: center; background-size: cover; padding: 96px 0 74px; border-radius: 0 0 28px 28px; }
.bes-hero-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr); gap: 38px; align-items: center; }
.bes-kicker, .bes-section-label { display: inline-block; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; font-weight: 800; color: #69c8f3; margin-bottom: 12px; }
.bes-hero h1 { margin: 0 0 18px; font-size: clamp(42px, 7vw, 76px); line-height: 1.05; letter-spacing: -2px; color: #fff; }
.bes-lead { font-size: clamp(18px, 2vw, 23px); max-width: 760px; color: rgba(255,255,255,.92); margin: 0 0 28px; }
.bes-hero-actions, .bes-cta-inner { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.bes-btn { display: inline-block; border: 0; border-radius: 999px; padding: 13px 24px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.bes-btn:hover { transform: translateY(-2px); text-decoration: none; }
.bes-btn-primary { background: var(--bes-blue); color: #fff !important; box-shadow: 0 10px 24px rgba(29,155,215,.32); }
.bes-btn-primary:hover { background: var(--bes-blue-dark); }
.bes-btn-light { background: rgba(255,255,255,.15); color: #fff !important; border: 1px solid rgba(255,255,255,.42); }
.bes-company-card { background: rgba(255,255,255,.96); color: var(--bes-text); border-radius: 24px; padding: 28px; box-shadow: var(--bes-shadow); }
.bes-company-card h2 { margin-top: 0; color: var(--bes-navy); font-size: 28px; }
.bes-company-card p { margin: 0 0 16px; color: var(--bes-muted); }
.bes-company-card strong { color: var(--bes-navy); }
.bes-quick-nav { background: #fff; box-shadow: 0 12px 24px rgba(12,34,55,.08); position: sticky; top: 0; z-index: 20; }
.admin-bar .bes-quick-nav { top: 32px; }
.bes-quick-nav .bes-wrap { display: flex; gap: 5px; overflow-x: auto; }
.bes-quick-nav a { padding: 15px 16px; color: var(--bes-navy); font-weight: 800; text-decoration: none; white-space: nowrap; }
.bes-quick-nav a:hover { color: var(--bes-blue); }
.bes-section { padding: 78px 0; }
.bes-soft { background: var(--bes-soft); }
.bes-dark { background: var(--bes-navy); color: #fff; }
.bes-dark h2, .bes-dark h3 { color: #fff; }
.bes-dark p { color: rgba(255,255,255,.83); }
.bes-section h2 { margin: 0 0 24px; color: var(--bes-navy); font-size: clamp(31px, 4vw, 48px); line-height: 1.15; letter-spacing: -.8px; }
.bes-section p { font-size: 17px; color: var(--bes-muted); margin-top: 0; }
.bes-two-col { display: grid; grid-template-columns: 1fr .85fr; gap: 48px; align-items: center; }
.bes-image-card { border-radius: 26px; overflow: hidden; box-shadow: var(--bes-shadow); min-height: 330px; }
.bes-image-card img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; display: block; }
.bes-card-grid, .bes-service-grid, .bes-platform-grid { display: grid; gap: 22px; }
.bes-card-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bes-info-card, .bes-service-card, .bes-form-card { background: var(--bes-card); border: 1px solid var(--bes-border); border-radius: 22px; padding: 26px; box-shadow: 0 12px 28px rgba(12,34,55,.07); }
.bes-icon { width: 46px; height: 46px; border-radius: 50%; display: inline-grid; place-items: center; background: #e8f6fd; color: var(--bes-blue); font-size: 22px; font-weight: 900; margin-bottom: 14px; }
.bes-info-card h3, .bes-service-card h3, .bes-platform-card h3 { margin: 0 0 10px; color: var(--bes-navy); font-size: 22px; }
.bes-info-card p, .bes-service-card p { font-size: 16px; margin-bottom: 0; }
.bes-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bes-service-card { border-top: 5px solid var(--bes-blue); }
.bes-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bes-platform-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 24px; overflow: hidden; box-shadow: 0 18px 45px rgba(0,0,0,.16); }
.bes-platform-card img { width: 100%; height: 210px; object-fit: cover; display: block; }
.bes-platform-card div { padding: 24px; }
.bes-link-button { display: inline-block; margin-top: 8px; color: #fff !important; background: var(--bes-blue); text-decoration: none; border-radius: 999px; padding: 10px 16px; font-weight: 800; }
.bes-cta { background: linear-gradient(135deg, #eaf7fd, #ffffff); }
.bes-cta-inner { justify-content: space-between; gap: 28px; }
.bes-cta-inner > div { max-width: 780px; }
.bes-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; align-items: start; }
.bes-contact-details { background: var(--bes-soft); border-radius: 20px; padding: 22px; border: 1px solid var(--bes-border); }
.bes-contact-details p { margin-bottom: 10px; }
.bes-contact-form label { display: block; margin: 14px 0 7px; color: var(--bes-navy); font-weight: 800; }
.bes-contact-form input, .bes-contact-form select, .bes-contact-form textarea { width: 100%; border: 1px solid #c8d8e4; border-radius: 13px; padding: 13px 14px; font-size: 16px; background: #fff; color: var(--bes-text); }
.bes-contact-form textarea { resize: vertical; }
.bes-contact-form button { margin-top: 18px; }
.bes-alert { border-radius: 14px; padding: 13px 15px; margin-bottom: 18px; font-weight: 800; }
.bes-alert-success { background: #eafaf0; color: #176a38; border: 1px solid #bfe8ce; }
.bes-alert-error { background: #fff1f1; color: #9b1c1c; border: 1px solid #facaca; }
@media (max-width: 980px) {
  .bes-hero-grid, .bes-two-col, .bes-contact-grid { grid-template-columns: 1fr; }
  .bes-card-grid-4, .bes-service-grid, .bes-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .bes-wrap { width: min(100% - 26px, 1160px); }
  .bes-hero { padding: 70px 0 52px; border-radius: 0 0 18px 18px; }
  .bes-card-grid-4, .bes-service-grid, .bes-platform-grid { grid-template-columns: 1fr; }
  .bes-section { padding: 56px 0; }
  .bes-quick-nav { position: relative; top: auto; }
  .bes-hero h1 { letter-spacing: -1px; }
}


/* v1.1: hide distracting floating cookie/revisit/chat icons that can cover the homepage. */
.cky-btn-revisit-wrapper,
.cky-consent-container,
.cookie-notice-container,
#cookie-notice,
#cookie-law-info-bar,
.cli-bar-container,
.cc-window,
.cmplz-cookiebanner,
.cmplz-cookiebanner + .cmplz-soft-cookiewall,
.cookiebot-consent-banner,
#CybotCookiebotDialog,
#moove_gdpr_cookie_info_bar,
.gdpr-cookie-notice,
.joinchat,
#joinchat,
.qlwapp,
#qlwapp,
.tawk-min-container,
.tawk-button,
.tidio-chat,
#tidio-chat,
.crisp-client,
#crisp-chatbox,
.bes-home ~ .cky-btn-revisit-wrapper {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* v1.1: clearer service reference links. */
.bes-service-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
.bes-service-links a {
  color: var(--bes-blue-dark) !important;
  font-weight: 800;
  text-decoration: none;
}
.bes-service-links a:hover {
  text-decoration: underline;
}

/* v1.1: force Brabdo Platforms / dark-section text to be visible. */
.bes-dark .bes-section-label,
.bes-dark h2,
.bes-dark h3,
.bes-platform-card h3 {
  color: #ffffff !important;
}
.bes-platform-card p {
  color: rgba(255, 255, 255, .86) !important;
}
