.bg-block {
  --bg-blue: #024d71;
  --bg-blue-dark: #01344d;
  --bg-cyan: #17bfd7;
  --bg-red: #e52329;
  --bg-gold: #fabe4b;
  --bg-charcoal: #231f20;
  --bg-light: #f5f7f8;
  --bg-shadow: 0 10px 30px rgba(0, 0, 0, .10);
  box-sizing: border-box;
  width: 100%;
  position: relative;
  padding: 85px 0;
  font-family: Lato, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--bg-charcoal);
}
.bg-block *, .bg-block *::before, .bg-block *::after { box-sizing: border-box; }
.bg-block .bg-container { width: min(92%, 1180px); margin-inline: auto; }
.bg-block h1, .bg-block h2, .bg-block h3, .bg-block p, .bg-block figure, .bg-block blockquote,
.bg-block ul { margin: 0; padding: 0; }
.bg-block h1, .bg-block h2, .bg-block h3 { font-family: Oswald, Impact, sans-serif; line-height: 1.05; }
.bg-block a { color: inherit; text-decoration: none; }
.bg-block img { max-width: 100%; }
.bg-block .bg-section-heading { text-align: center; color: var(--bg-blue); font-size: clamp(32px, 4vw, 42px); text-transform: uppercase; margin-bottom: 15px; }
.bg-block .bg-section-intro { max-width: 750px; margin: 0 auto 42px; text-align: center; color: #555; font-size: 18px; }
.bg-block .bg-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.bg-block .bg-actions--left { justify-content: flex-start; }
.bg-block .bg-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 24px; border: 2px solid transparent; border-radius: 5px; font-family: Lato, Arial, sans-serif; font-size: 16px; line-height: 1.4; font-weight: 900; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.bg-block .bg-btn:focus-visible, .bg-block .bg-audience-card:focus-visible { outline: 3px solid var(--bg-gold); outline-offset: 4px; }
.bg-block .bg-btn:hover { transform: translateY(-1px); }
.bg-block .bg-btn--primary { color: #fff; background: var(--bg-red); border-color: var(--bg-red); }
.bg-block .bg-btn--primary:hover { color: #fff; background: #c91b20; border-color: #c91b20; }
.bg-block .bg-btn--outline { color: var(--bg-blue); background: transparent; border-color: var(--bg-blue); }
.bg-block .bg-btn--outline:hover { color: #fff; background: var(--bg-blue); }

/* Hero */
.bg-block.bg-hero { min-height: 650px; padding: 0; background-color: #102e42; background-image: linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.58) 44%, rgba(0,0,0,.12) 100%), var(--bg-photo, linear-gradient(125deg, #072e47, #0b607a)); background-position: center; background-size: cover; color: #fff; overflow: hidden; }
.bg-block.bg-hero::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--bg-cyan), var(--bg-red), var(--bg-gold)); }
.bg-block .bg-hero-grid { min-height: 650px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 55px; padding-block: 70px; }
.bg-block .bg-eyebrow { color: var(--bg-cyan); font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }
.bg-block .bg-hero-heading { font-size: clamp(48px, 6vw, 78px); text-transform: uppercase; margin-bottom: 25px; max-width: 720px; color: #fff; }
.bg-block .bg-hero-heading-accent { color: var(--bg-cyan); }
.bg-block .bg-hero-copy { max-width: 680px; font-size: 19px; margin-bottom: 26px; }
.bg-block .bg-hero-tagline { color: var(--bg-cyan); font-size: 24px; font-weight: 900; margin-bottom: 25px; }
.bg-block.bg-hero .bg-actions { margin-top: 0; }
.bg-block.bg-hero .bg-btn--outline, .bg-block.bg-final-cta .bg-btn--outline { color: #fff; border-color: #fff; }
.bg-block.bg-hero .bg-btn--outline:hover, .bg-block.bg-final-cta .bg-btn--outline:hover { color: var(--bg-blue); background: #fff; }
.bg-block .bg-form { background: var(--bg-blue); padding: 30px; border-radius: 9px; box-shadow: 0 20px 50px rgba(0,0,0,.30); }
.bg-block .bg-form h2 { color: #fff; font-size: 36px; margin-bottom: 5px; }
.bg-block .bg-form p { font-size: 15px; margin-bottom: 18px; color: #fff; }
.bg-block .bg-form-empty { min-height: 260px; }
.bg-block .bg-form .bg-editor-hint { color: #dcecf2; border: 1px dashed rgba(255,255,255,.6); border-radius: 4px; text-align: center; padding: 10px; }
.bg-block .bg-form-embed { max-width: 100%; }
.bg-block .bg-form-embed input, .bg-block .bg-form-embed select, .bg-block .bg-form-embed textarea { max-width: 100%; }

/* Group types / trust strip */
.bg-block.bg-trust { padding: 26px 0; border-bottom: 1px solid #e6e6e6; text-align: center; background: #fff; }
.bg-block .bg-trust-heading { color: #777; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }
.bg-block .bg-trust-list { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px 45px; color: var(--bg-blue); font-weight: 900; }

/* Boom What? */
.bg-block.bg-boom-what { background: #fff; }
.bg-block .bg-benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bg-block .bg-benefit-card { padding: 40px 30px; border-radius: 8px; background: #fff; box-shadow: var(--bg-shadow); text-align: center; }
.bg-block .bg-card-icon { width: 78px; height: 78px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; background: #e9fbfe; color: var(--bg-cyan); font-size: 34px; font-weight: 900; }
.bg-block .bg-card-icon img { width: 54px; height: 54px; object-fit: contain; }
.bg-block .bg-benefit-card:nth-child(3n+2) .bg-card-icon { background: #fff0f0; color: var(--bg-red); }
.bg-block .bg-benefit-card:nth-child(3n+3) .bg-card-icon { background: #fff8e9; color: #d69a00; }
.bg-block .bg-benefit-card h3 { color: var(--bg-blue); font-family: Lato, Arial, sans-serif; font-size: 23px; line-height: 1.25; margin-bottom: 10px; }
.bg-block .bg-benefit-card:nth-child(3n+2) h3 { color: var(--bg-red); }
.bg-block .bg-benefit-card:nth-child(3n+3) h3 { color: #a87800; }

/* Audience cards */
.bg-block.bg-who-we-help { background: var(--bg-light); }
.bg-block .bg-audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bg-block .bg-audience-card { min-height: 230px; padding: 25px; border-radius: 8px; position: relative; isolation: isolate; overflow: hidden; color: #fff; display: flex; align-items: flex-end; background-color: #024d71; background-image: linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.2) 85%), var(--bg-photo, linear-gradient(145deg, #12688b, #01344d)); background-position: center; background-size: cover; box-shadow: var(--bg-shadow); transition: transform .2s; }
.bg-block a.bg-audience-card:hover { transform: translateY(-3px); }
.bg-block .bg-audience-content { position: relative; z-index: 1; }
.bg-block .bg-audience-card h3 { color: #fff; font-size: 29px; margin-bottom: 6px; }
.bg-block .bg-audience-card p { font-size: 14px; }
.bg-block .bg-audience-link { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 900; color: #fff; border-bottom: 1px solid var(--bg-cyan); }

/* Process steps */
.bg-block.bg-how-it-works { color: #fff; background: var(--bg-blue); }
.bg-block.bg-how-it-works .bg-section-heading { color: #fff; }
.bg-block.bg-how-it-works .bg-section-intro { color: #dcecf2; }
.bg-block .bg-steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; text-align: center; }
.bg-block .bg-step-number { width: 58px; height: 58px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 50%; background: var(--bg-cyan); color: var(--bg-blue-dark); font-size: 22px; font-weight: 900; }
.bg-block .bg-step h3 { color: #fff; font-family: Lato, Arial, sans-serif; font-size: 18px; line-height: 1.3; margin-bottom: 8px; }
.bg-block .bg-step p { color: #dcecf2; font-size: 14px; }

/* Split hotel benefits */
.bg-block.bg-more-than { background-color: var(--bg-light); background-image: linear-gradient(rgba(245,247,248,.93),rgba(245,247,248,.93)), var(--bg-photo, none); background-position: center; background-size: cover; }
.bg-block .bg-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 55px; align-items: center; }
.bg-block .bg-split-image { min-height: 420px; overflow: hidden; border-radius: 10px; background: linear-gradient(135deg, #b3eaf2, #024d71); box-shadow: var(--bg-shadow); }
.bg-block .bg-split-photo { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.bg-block.bg-more-than .bg-section-heading { text-align: left; font-size: 43px; margin-bottom: 20px; }
.bg-block .bg-checklist { list-style: none; margin-top: 20px; }
.bg-block .bg-checklist li { display: flex; align-items: flex-start; gap: 10px; margin: 13px 0; font-weight: 700; }
.bg-block .bg-checklist li::before { content: "✓"; flex: 0 0 auto; color: #0094a9; font-size: 20px; font-weight: 900; line-height: 1.3; }

/* Stats */
.bg-block.bg-stats { padding: 55px 0; background: #fff; }
.bg-block .bg-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); text-align: center; }
.bg-block .bg-stat { padding: 10px 20px; border-right: 1px solid #ddd; }
.bg-block .bg-stat:last-child { border-right: 0; }
.bg-block .bg-stat strong { display: block; font-family: Oswald, Impact, sans-serif; font-size: 42px; line-height: 1.25; color: var(--bg-blue); }
.bg-block .bg-stat span { display: block; color: #666; font-size: 13px; text-transform: uppercase; font-weight: 900; }

/* Testimonial */
.bg-block.bg-testimonial { color: #fff; background-color: var(--bg-blue-dark); background-image: linear-gradient(rgba(1,52,77,.90),rgba(1,52,77,.90)), var(--bg-photo, none); background-position: center; background-size: cover; text-align: center; }
.bg-block .bg-quote { max-width: 900px; margin-inline: auto; padding: 45px; border-radius: 15px; color: var(--bg-charcoal); background: #fff; box-shadow: var(--bg-shadow); }
.bg-block .bg-client-photo { margin-bottom: 18px; }
.bg-block .bg-client-photo img { margin-inline: auto; width: 84px; height: 84px; object-fit: cover; border-radius: 50%; }
.bg-block .bg-quote-mark { color: var(--bg-cyan); font-size: 70px; font-weight: 900; line-height: .6; }
.bg-block .bg-quote blockquote { border: 0; background: none; box-shadow: none; }
.bg-block .bg-quote blockquote p { max-width: 700px; margin: 20px auto; font-size: 20px; font-weight: 400; }
.bg-block .bg-quote figcaption strong { display: block; color: #007d8c; font-size: 16px; text-transform: uppercase; font-weight: 900; }
.bg-block .bg-quote figcaption small { display: block; color: #333; font-size: 13px; margin-top: 2px; }

/* Final CTA */
.bg-block.bg-final-cta { color: #fff; background-color: var(--bg-blue-dark); background-image: linear-gradient(rgba(1,52,77,.96),rgba(1,52,77,.96)), var(--bg-photo, none); background-position: center; background-size: cover; text-align: center; }
.bg-block.bg-final-cta .bg-section-heading { color: #fff; font-size: clamp(42px, 5vw, 62px); margin-bottom: 15px; }
.bg-block.bg-final-cta p { font-size: 19px; margin-bottom: 28px; }
.bg-block.bg-final-cta .bg-actions { margin-top: 0; }

@media (max-width: 950px) {
  .bg-block .bg-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .bg-block.bg-hero { min-height: auto; }
  .bg-block .bg-hero-grid { min-height: auto; }
  .bg-block .bg-benefits-grid, .bg-block .bg-audience-grid, .bg-block .bg-steps-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bg-block .bg-split { grid-template-columns: 1fr; }
  .bg-block .bg-stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bg-block .bg-stat:nth-child(2n) { border-right: 0; }
  .bg-block .bg-stat:nth-child(-n+2) { margin-bottom: 25px; }
}
@media (max-width: 600px) {
  .bg-block { padding: 64px 0; }
  .bg-block .bg-hero-heading { font-size: clamp(38px, 10vw, 48px); }
  .bg-block .bg-hero-tagline { font-size: 20px; }
  .bg-block .bg-form { padding: 22px; }
  .bg-block .bg-form-empty { min-height: 150px; }
  .bg-block .bg-benefits-grid, .bg-block .bg-audience-grid, .bg-block .bg-steps-grid, .bg-block .bg-stats-grid { grid-template-columns: 1fr; }
  .bg-block .bg-stat { border-right: 0 !important; border-bottom: 1px solid #ddd; padding: 20px; margin-bottom: 0 !important; }
  .bg-block .bg-stat:last-child { border-bottom: 0; }
  .bg-block .bg-split-image, .bg-block .bg-split-photo { min-height: 280px; }
  .bg-block .bg-quote { padding: 32px 22px; }
  .bg-block .bg-quote blockquote p { font-size: 18px; }
  .bg-block.bg-more-than .bg-section-heading { font-size: 35px; }
}
