@font-face { font-family: "Inter"; src: url("../assets/fonts/inter.woff2") format("woff2"); font-style: normal; font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../assets/fonts/montserrat.woff2") format("woff2"); font-style: normal; font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../assets/fonts/open-sans.woff2") format("woff2"); font-style: normal; font-weight: 400 800; font-display: swap; }

:root {
  --cwdb-navy: #13294b;
  --cwdb-navy-deep: #0f2b5b;
  --cwdb-blue: #1e4e9a;
  --cwdb-magenta: #c2185b;
  --cwdb-magenta-dark: #a11548;
  --cwdb-green: #2e7d5b;
  --cwdb-ink: #1f2a44;
  --cwdb-gray: #5a6475;
  --cwdb-line: #e3e6eb;
  --cwdb-light: #f5f7fb;
  --cwdb-white: #ffffff;
}

/* Page basics */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--cwdb-ink); background: var(--cwdb-light); font-family: "Inter", system-ui, sans-serif; line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
.cwdb-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.cwdb-center { text-align: center; }
.cwdb-eyebrow { display: inline-block; margin: 0 0 14px; color: var(--cwdb-magenta); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
h2 { margin: 0 0 20px; color: var(--cwdb-navy); font-size: 44px; font-weight: 800; line-height: 1.1; letter-spacing: -.6px; }
.cwdb-sub { max-width: 640px; margin: 0 0 36px; color: var(--cwdb-gray); font-size: 18px; line-height: 1.7; }
.cwdb-sub.cwdb-center { margin-left: auto; margin-right: auto; }
.cwdb-body { color: var(--cwdb-gray); font-size: 16px; line-height: 1.75; }
a:focus-visible, button:focus-visible { outline: 3px solid #ffbd2e; outline-offset: 3px; }

/* Buttons */
.cwdb-btn { min-height: 48px; padding: 17px 38px; border: 2px solid transparent; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font: 700 15px "Inter", sans-serif; letter-spacing: .2px; text-align: center; text-decoration: none; transition: background .2s, box-shadow .2s, transform .2s; }
.cwdb-btn:hover { transform: translateY(-2px); }
.cwdb-btn-mag { background: linear-gradient(135deg, var(--cwdb-magenta), #d81b60); box-shadow: 0 4px 24px rgba(194,24,91,.35); }
.cwdb-btn-mag:hover { box-shadow: 0 8px 36px rgba(194,24,91,.5); }
.cwdb-btn-outline { border-color: var(--cwdb-magenta); color: var(--cwdb-magenta); background: transparent; }
.cwdb-btn-outline:hover { color: #fff; background: var(--cwdb-magenta); }
.cwdb-btn-white { color: var(--cwdb-navy); background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,.1); }
.cwdb-btn-navy { background: var(--cwdb-navy-deep); }

/* Top bar */
.cwdb-topbar { position: absolute; inset: 0 0 auto; z-index: 10; }
.cwdb-topbar-inner { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.cwdb-topbar-brand { display: flex; align-items: center; }
.cwdb-topbar-brand img { width: auto; height: 44px; object-fit: contain; flex-shrink: 0; }
.cwdb-topbar-nav { display: flex; align-items: center; gap: 28px; }
.cwdb-topbar-nav a, .cwdb-topbar-back { color: var(--cwdb-gray); font-size: 13px; font-weight: 600; text-decoration: none; }
.cwdb-topbar-nav a:hover, .cwdb-topbar-back:hover { color: var(--cwdb-magenta); }
.cwdb-topbar-nav .cwdb-topbar-cta { min-height: 44px; padding: 9px 22px; border-radius: 8px; display: inline-flex; align-items: center; color: #fff; font-weight: 700; background: linear-gradient(135deg, var(--cwdb-magenta), #d81b60); box-shadow: 0 2px 12px rgba(194,24,91,.25); }
.cwdb-topbar-back { font-size: 12px; }

/* Hero */
.cwdb-hero { position: relative; padding: 130px 0 110px; overflow: hidden; background: linear-gradient(165deg,#f5f7fb 0%,#eef4ff 50%,#fbeaf2 100%); }
.cwdb-hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 70% 60% at 70% 30%,rgba(194,24,91,.04),transparent),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(30,78,154,.04),transparent); }
.cwdb-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.cwdb-hero-left { max-width: 540px; }
.cwdb-cobrand { margin-bottom: 28px; padding: 12px; border: 1px solid rgba(227,230,235,.5); border-radius: 10px; display: inline-flex; align-items: center; gap: 16px; background: rgba(255,255,255,.65); }
.cwdb-cobrand img { width: auto; height: 28px; object-fit: contain; flex-shrink: 0; }
.cwdb-cobrand img.cwdb-gogig { height: 28px; }
.cwdb-cobrand span { color: var(--cwdb-magenta); }
.cwdb-hero h1 { margin: 0 0 24px; color: var(--cwdb-navy); font-size: 56px; font-weight: 900; line-height: 1.04; letter-spacing: -1.5px; }
.cwdb-hero-sub { margin: 0 0 36px; color: var(--cwdb-gray); font-size: 18px; line-height: 1.7; }
.cwdb-actions { margin-bottom: 32px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.cwdb-link-sec { min-height: 44px; display: inline-flex; align-items: center; color: var(--cwdb-blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.cwdb-proof { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 28px; list-style: none; }
.cwdb-proof li { display: flex; align-items: center; gap: 8px; color: var(--cwdb-gray); font-size: 13px; font-weight: 500; }
.cwdb-proof li span { width: 7px; height: 7px; border-radius: 50%; background: var(--cwdb-green); }
.cwdb-hero-right { display: flex; justify-content: flex-end; min-height: 540px; }
.cwdb-portrait-wrapper { position: relative; width: 100%; max-width: 440px; }
.cwdb-hero-portrait { width: 100%; overflow: hidden; border-radius: 20px; box-shadow: 0 32px 80px rgba(19,41,75,.14); }
.cwdb-hero-portrait img { width: 100%; height: 520px; display: block; object-fit: cover; }
.cwdb-float { position: absolute; z-index: 2; border: 1px solid rgba(227,230,235,.4); border-radius: 14px; background: #fff; box-shadow: 0 12px 40px rgba(19,41,75,.13); }
.cwdb-float-assessment { top: 24px; left: -40px; width: 230px; padding: 16px 18px; }
.cwdb-float-header { margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--cwdb-line); display: flex; align-items: center; gap: 8px; }
.cwdb-float-header img { width: auto; height: 14px; opacity: .55; }
.cwdb-float-header span, .cwdb-float-pathway > strong { color: var(--cwdb-gray); font-size: 10px; letter-spacing: .3px; text-transform: uppercase; }
.cwdb-float-row { padding: 6px 0; border-bottom: 1px solid #f0f1f4; display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.cwdb-float-row span { color: #717d8f; }.cwdb-float-row strong { color: var(--cwdb-navy); }.cwdb-float-row:last-child strong { color: var(--cwdb-magenta); }
.cwdb-float-pathway { bottom: 80px; left: -20px; width: 240px; padding: 16px 18px; }
.cwdb-pathway-score { margin: 7px 0; display: flex; justify-content: space-between; align-items: baseline; color: var(--cwdb-navy); font-size: 13px; font-weight: 700; }
.cwdb-pathway-score b { color: var(--cwdb-blue); font-size: 22px; font-weight: 900; }
.cwdb-pathway-bar { height: 6px; overflow: hidden; border-radius: 3px; background: var(--cwdb-line); }.cwdb-pathway-bar span { width: 94%; height: 100%; display: block; background: linear-gradient(90deg,var(--cwdb-blue),#4a8fdd); }
.cwdb-float-pathway small { color: #717d8f; font-size: 10px; }
.cwdb-float-badge { top: 52%; right: -20px; padding: 10px 16px; display: flex; gap: 6px; color: var(--cwdb-navy); font-size: 12px; font-weight: 700; background: #fff; border-radius: 14px; box-shadow: 0 12px 40px rgba(19,41,75,.13); }.cwdb-float-badge span { color: var(--cwdb-magenta); }

/* Numbered content */
.cwdb-value, .cwdb-video-section, .cwdb-steps, .cwdb-booking, .cwdb-capabilities, .cwdb-tech, .cwdb-faq { padding: 110px 0; }
.cwdb-value, .cwdb-steps, .cwdb-tech { background: var(--cwdb-light); }
.cwdb-video-section, .cwdb-booking, .cwdb-capabilities, .cwdb-faq { background: #fff; }
.cwdb-number-list, .cwdb-cap-list { max-width: 780px; margin-top: 48px; }
.cwdb-number-list article, .cwdb-cap-list article { padding: 28px 0; border-bottom: 1px solid var(--cwdb-line); display: flex; gap: 28px; align-items: baseline; }
.cwdb-number-list article:first-child, .cwdb-cap-list article:first-child { border-top: 1px solid var(--cwdb-line); }
.cwdb-number-list article > b, .cwdb-cap-list article > b { min-width: 48px; color: #b8bec9; font-size: 32px; font-weight: 800; line-height: 1; }
.cwdb-number-list h3, .cwdb-cap-list h3 { margin: 0 0 6px; color: var(--cwdb-navy); font-size: 18px; }
.cwdb-number-list p, .cwdb-cap-list p { margin: 0; color: var(--cwdb-gray); font-size: 15px; }

/* Video */
.cwdb-video { position: relative; max-width: 1100px; aspect-ratio: 16 / 9; margin: 44px auto 0; overflow: hidden; border: 1px solid var(--cwdb-line); border-radius: 16px; background: var(--cwdb-navy); box-shadow: 0 24px 80px rgba(16,42,91,.12); }
.cwdb-video-button { width: 100%; height: 100%; padding: 0; border: 0; display: block; cursor: pointer; background: transparent; }
.cwdb-video-button::after { content: ""; position: absolute; inset: 0; background: rgba(15,43,91,.15); transition: background .2s; }
.cwdb-video-button:hover::after { background: rgba(15,43,91,.04); }
.cwdb-video-button img { width: 100%; height: 100%; display: block; object-fit: cover; }
.cwdb-play { position: absolute; z-index: 2; top: 50%; left: 50%; width: 86px; height: 62px; border-radius: 16px; transform: translate(-50%,-50%); background: var(--cwdb-magenta); box-shadow: 0 8px 28px rgba(0,0,0,.3); }
.cwdb-play::after { content: ""; position: absolute; top: 17px; left: 35px; border-top: 14px solid transparent; border-bottom: 14px solid transparent; border-left: 22px solid #fff; }
.cwdb-video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Steps */
.cwdb-step-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.cwdb-step-grid article { padding: 32px; border-top: 4px solid var(--cwdb-magenta); background: #fff; }
.cwdb-step-grid article > b { color: var(--cwdb-magenta); font-size: 28px; }
.cwdb-step-grid h3 { margin: 14px 0 8px; color: var(--cwdb-navy); font-size: 20px; }
.cwdb-step-grid p { margin: 0; color: var(--cwdb-gray); }
.cwdb-step-grid .cwdb-btn { margin-top: 20px; padding: 12px 20px; font-size: 14px; }

/* Booking */
.cwdb-booking { border-top: 1px solid var(--cwdb-line); text-align: center; }
.cwdb-booking-wrap { max-width: 1040px; }
.cwdb-account-note { color: var(--cwdb-navy); font-weight: 700; }
.cwdb-booking-mount { margin-top: 24px; }
.cwdb-booking-link { margin: 0 auto 22px; }
.cwdb-loading { color: var(--cwdb-gray); }
.cwdb-booking-frame { width: 100%; height: 1100px; display: block; background: #fff; }
.cwdb-booking-placeholder { margin-top: 28px; padding: 44px 24px; border: 2px dashed #98a2b3; border-radius: 10px; color: var(--cwdb-navy); background: #fff; font-size: 18px; font-weight: 700; }
.cwdb-phone-link { min-height: 44px; display: inline-flex; align-items: center; color: var(--cwdb-blue); }
.cwdb-powered { margin: 20px 0 0; color: var(--cwdb-gray); font-size: 12px; white-space: nowrap; }

/* Veterans */
.cwdb-veteran { position: relative; padding: 120px 0; overflow: hidden; color: #fff; background: linear-gradient(145deg,#0f2b5b 0%,#13294b 40%,#1e3d6f 100%); }
.cwdb-vet-header { margin-bottom: 56px; text-align: center; }.cwdb-eyebrow-light { color: rgba(255,255,255,.65); }
.cwdb-vet-header h2 { color: #fff; }.cwdb-vet-header .cwdb-sub { margin-left: auto; margin-right: auto; color: rgba(255,255,255,.75); }
.cwdb-vet-grid { margin-bottom: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.cwdb-vet-grid > article { padding: 36px 32px; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(255,255,255,.06); }
.cwdb-vet-tag { padding: 5px 14px; border-radius: 6px; display: inline-block; color: #ff8ab2; background: rgba(194,24,91,.2); font-size: 10px; font-weight: 700; text-transform: uppercase; }.cwdb-vet-tag-blue { color: #95c3ff; background: rgba(30,78,154,.3); }
.cwdb-vet-grid h3 { margin: 16px 0 6px; color: #fff; font-size: 24px; }.cwdb-vet-grid > article > p { color: rgba(255,255,255,.75); }.cwdb-vet-grid .cwdb-vet-question { color: rgba(255,255,255,.6); font-style: italic; }
.cwdb-vet-card { margin-top: 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: linear-gradient(135deg, #1e3d6f, #13294b); box-shadow: 0 12px 40px rgba(0,0,0,0.2); }
.cwdb-vet-card > strong { padding: 12px 18px; display: block; border-bottom: 1px solid rgba(255,255,255,.06); color: rgba(255,255,255,.6); font-size: 11px; text-transform: uppercase; letter-spacing: 0.3px; background: rgba(0,0,0,0.2); font-weight: 700; }
.cwdb-vet-card dl { margin: 0; padding: 18px; }
.cwdb-vet-card dt { color: rgba(255,255,255,.4); font-size: 10px; text-transform: uppercase; font-weight: 600; margin-bottom: 4px; letter-spacing: 0.3px; }
.cwdb-vet-card dd { margin: 0 0 16px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.9); padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.06); }
.cwdb-vet-card dd:last-of-type { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.cwdb-translate { padding: 18px; display: flex; align-items: center; gap: 12px; }
.cwdb-translate > div { flex: 1; padding: 14px; border-radius: 10px; background: rgba(255,255,255,.05); }
.cwdb-translate small { color: #80e2ab; text-transform: uppercase; font-size: 10px; font-weight: 600; letter-spacing: 0.3px; }
.cwdb-translate p { margin: 5px 0 0; font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.9); }
.cwdb-translate > b { color: rgba(255,255,255,.35); font-size: 16px; }
.cwdb-vet-bottom { padding-top: 40px; border-top: 1px solid rgba(255,255,255,.1); text-align: center; }.cwdb-vet-bottom > div { display: flex; justify-content: center; align-items: center; gap: 16px; }.cwdb-vet-bottom img { width: auto; height: 32px; object-fit: contain; }.cwdb-vet-bottom img:last-child { height: 26px; }.cwdb-vet-bottom p { color: rgba(255,255,255,.65); }

/* Workforce support */
.cwdb-tech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.cwdb-tech ul { margin: 24px 0 28px; padding: 0; list-style: none; }.cwdb-tech li { position: relative; margin-bottom: 14px; padding-left: 28px; color: var(--cwdb-gray); }.cwdb-tech li::before { content: "\2713"; position: absolute; left: 0; color: var(--cwdb-green); font-weight: 800; }
.cwdb-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.cwdb-stat-grid article { padding: 28px 24px; border: 1px solid var(--cwdb-line); border-radius: 14px; text-align: center; background: #fff; box-shadow: 0 12px 32px rgba(19,41,75,.04); }.cwdb-stat-grid b { display: block; color: var(--cwdb-navy-deep); font-size: 36px; font-weight: 900; margin-bottom: 4px; line-height: 1; }.cwdb-stat-grid span { color: var(--cwdb-gray); font-size: 13px; }

/* FAQ */
.cwdb-faq-list { max-width: 720px; margin: 44px auto 0; }.cwdb-faq-list article { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--cwdb-line); border-radius: 12px; }.cwdb-faq-list h3 { margin: 0; }.cwdb-faq-list button { width: 100%; min-height: 64px; padding: 18px 26px; border: 0; display: flex; align-items: center; justify-content: space-between; color: var(--cwdb-navy); background: #fff; font: 600 15px "Inter",sans-serif; text-align: left; cursor: pointer; }.cwdb-faq-list button:hover { color: var(--cwdb-magenta); }.cwdb-faq-list button b { font-size: 22px; font-weight: 400; }.cwdb-faq-list article > div { padding: 0 26px 18px; }.cwdb-faq-list article > div p { margin: 0; color: var(--cwdb-gray); font-size: 14px; }

/* Final section and footer */
.cwdb-final { padding: 120px 0; color: #fff; background: linear-gradient(145deg,#0f2b5b,#13294b,#1e3d6f); }.cwdb-final-inner { max-width: 700px; text-align: center; }.cwdb-final-logos { margin-bottom: 32px; display: flex; align-items: center; justify-content: center; gap: 16px; }.cwdb-final-logos img { width: auto; height: 36px; object-fit: contain; }.cwdb-final-logos img:last-child { height: 28px; }.cwdb-final-logos span { color: rgba(255,255,255,.4); }.cwdb-final h2 { color: #fff; }.cwdb-final p { color: rgba(255,255,255,.75); font-size: 18px; }.cwdb-final-actions { margin: 28px 0 18px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }.cwdb-final-actions > a:not(.cwdb-btn) { min-height: 44px; display: inline-flex; align-items: center; color: rgba(255,255,255,.75); font-weight: 600; }.cwdb-final small { color: rgba(255,255,255,.5); }
.cwdb-footer { padding: 36px 0; color: rgba(255,255,255,.6); background: #0f2b5b; font-size: 12px; }.cwdb-footer-row { padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; align-items: center; }.cwdb-footer-brands { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }.cwdb-footer-brands > img { width: auto; height: 32px; }.cwdb-footer-brands span { display: flex; align-items: center; gap: 8px; }.cwdb-footer-brands span img { width: auto; height: 18px; }.cwdb-footer-row nav { display: flex; gap: 24px; }.cwdb-footer a { min-height: 44px; display: inline-flex; align-items: center; color: rgba(255,255,255,.7); }.cwdb-footer > .cwdb-wrap > p { color: rgba(255,255,255,.5); }

/* Responsive */
@media (max-width: 1024px) {
  .cwdb-topbar-nav { display: none; }
  .cwdb-hero { padding: 100px 0 80px; }.cwdb-hero-grid { grid-template-columns: 1fr; gap: 48px; }.cwdb-hero h1 { font-size: 42px; }.cwdb-hero-right { justify-content: center; min-height: 540px; }
  .cwdb-vet-grid, .cwdb-tech-grid { grid-template-columns: 1fr; }
  h2 { font-size: 34px; }
}
@media (max-width: 640px) {
  .cwdb-wrap { padding: 0 20px; }
  .cwdb-topbar-back { display: none; }.cwdb-topbar-inner { justify-content: flex-start; }.cwdb-topbar-brand img { height: 36px; }
  .cwdb-hero { padding: 80px 0 60px; }.cwdb-hero h1 { font-size: 34px; letter-spacing: -.5px; }.cwdb-actions { align-items: flex-start; flex-direction: column; }.cwdb-proof { flex-direction: column; gap: 8px; }
  .cwdb-hero-right { min-height: 440px; }.cwdb-hero-portrait img { height: 420px; }.cwdb-float-assessment { top: 20px; left: -16px; width: 205px; }.cwdb-float-pathway { bottom: 26px; left: -8px; width: 215px; }.cwdb-float-badge { right: -8px; }
  h2 { font-size: 28px; }.cwdb-value, .cwdb-video-section, .cwdb-steps, .cwdb-booking, .cwdb-capabilities, .cwdb-tech, .cwdb-faq, .cwdb-veteran, .cwdb-final { padding: 72px 0; }
  .cwdb-step-grid { grid-template-columns: 1fr; }.cwdb-step-grid article { padding: 26px 22px; }
  .cwdb-booking-frame { height: 1400px; }
  .cwdb-vet-grid > article { padding: 28px 22px; }.cwdb-translate { flex-direction: column; }.cwdb-translate > b { transform: rotate(90deg); }
  .cwdb-stat-grid { grid-template-columns: 1fr; }
  .cwdb-footer-row { flex-direction: column; gap: 14px; text-align: center; }.cwdb-footer-brands { align-items: center; }.cwdb-footer-row nav { flex-wrap: wrap; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}