

:root {
  --qts-blue: #0033a0;
  --qts-red:  #cc2031;
  --bg:       #ffffff;
}

body { background: var(--bg); overflow-x: clip; }
.dtbd {
  font-family: 'Elza', system-ui, -apple-system, sans-serif;
  font-weight: 300;
  color: #1a1a1a;
  -webkit-font-smoothing: antialiased;
}
.dtbd *, .dtbd *::before, .dtbd *::after { box-sizing: border-box; margin: 0; padding: 0; }

.dtbd a,
.dtbd button {
  color: inherit;
  background: none;
  border: 0;
  text-decoration: none;
  font: inherit;
  cursor: pointer;
}

.dtbd a:focus-visible,
.dtbd button:focus-visible {
  outline: 2px solid var(--qts-red, #CC2031);
  outline-offset: 2px;
}

.dtbd .s1-stage {
	  position: relative;
	  height: 530vh;
	  z-index: 1;

	  margin-top: calc(var(--s1-header) * -1);
	}
.dtbd .s1-pin {
	  position: sticky;
	  top: 0;
	  width: 100%;
	  height: 100vh;
	  overflow: hidden;
	  background: var(--bg);
	}

.dtbd .intro-text {
	  position:absolute; top:50%; left:50%;
	  text-align:center; z-index:10; opacity:0;
	  pointer-events:none; will-change:transform, opacity;
	}
.dtbd .intro-line { display:block; }
.dtbd .intro-1, .dtbd .intro-3 {
	  font-weight:500; color:#333;
	  font-size:clamp(1.5rem, 3.4vw, 3.25rem); line-height:1.12; letter-spacing:0.005em;
	}
.dtbd .line-mask { display:block; overflow:hidden; padding:0.08em 0.04em; }
.dtbd .line-rise { display:inline-block; will-change:transform; }
.dtbd .intro-2 {
	  font-weight:700; color:#CC2031;
	  font-size:clamp(3.75rem, 8.5vw, 8rem); line-height:0.95; letter-spacing:-0.015em; margin:0.02em 0;
	}
.dtbd .intro-2 .ch { display:inline-block; will-change:transform, opacity; }

.dtbd .s1-text-wrap {
	  position: absolute;
	  inset: 0;
	  z-index: 5;
	  pointer-events: none;
	  clip-path: inset(50% 0 50% 0);
	  will-change: clip-path;
	}
.dtbd .s1-text-line {
	  position: absolute;
	  font-family: 'Elza', system-ui, sans-serif;
	  font-weight: 500;
	  color: #1a1a1a;
	  max-width: 18ch;
	}
.dtbd .s1-text-line strong { font-weight: 500; color: #000; }
.dtbd .s1-text-line em { font-style: italic; font-weight: 400; }

.dtbd .scene-line {
	  top: 50%;
	  left: clamp(2rem, 6vw, 8rem);
	  transform: translateY(-50%);
	  font-size: clamp(1.125rem, 2.4vw, 2.625rem);
	  line-height: 1.1;
	  letter-spacing: -0.018em;
	  font-weight: 400;
	  color: #1a1a1a;
	  max-width: 22ch;
	  opacity: 0;
	}

.dtbd .scroll-cue {
	  position: absolute;
	  bottom: 4vh;
	  left: 50%;
	  transform: translateX(-50%);
	  display: flex;
	  align-items: center;
	  gap: 0.875rem;
	  z-index: 8;
	  opacity: 0;
	  pointer-events: none;
	  font-family: 'Elza', system-ui, sans-serif;
	  font-weight: 500;
	  letter-spacing: 0.28em;
	  text-transform: uppercase;
	  color: #1a1a1a;
	  font-size: 0.75rem;
	}
.dtbd .scroll-cue-icon {
	  position: relative;
	  width: 44px;
	  height: 44px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	}
.dtbd .scroll-cue-circle {
	  position: absolute;
	  inset: 0;
	  width: 100%;
	  height: 100%;
	  fill: none;
	  stroke: #1a1a1a;
	  stroke-width: 1;
	  stroke-dasharray: 1.5 4;
	  animation: scroll-cue-rotate 8s linear infinite;
	}
.dtbd .scroll-cue-chevron {
	  position: relative;
	  width: 16px;
	  height: 16px;
	  fill: none;
	  stroke: #1a1a1a;
	  stroke-width: 2;
	  stroke-linecap: round;
	  stroke-linejoin: round;
	  animation: scroll-cue-bounce 1.6s ease-in-out infinite;
	}
@keyframes scroll-cue-rotate {
	  to   { transform: rotate(360deg); }
	}
@keyframes scroll-cue-bounce {
	  0%, 100% { transform: translateY(-2px); }
	  50%      { transform: translateY(3px); }
	}

.dtbd .s1-nav-arrows {
	  position: absolute;

	  top: 64%;
	  left: 70%;
	  transform: translateX(-50%);
	  display: flex;
	  gap: 14px;
	  z-index: 10;
	  opacity: 0; visibility: hidden;
	}
.dtbd .s1-nav-arrow {
	  width: clamp(46px, 3.4vw, 56px);
	  height: clamp(46px, 3.4vw, 56px);
	  border-radius: 50%;
	  display: flex; align-items: center; justify-content: center;
	  cursor: pointer;
	  padding: 0;
	  transition: background 0.2s ease, border-color 0.2s ease;
	  -webkit-tap-highlight-color: transparent;
	}
.dtbd .s1-nav-arrow svg {
	  width: 42%; height: 42%; fill: none;
	  stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round;
	}

.dtbd .s1-nav-arrow.is-prev { background: #ffffff; border: 1px solid #d8d8d8; }
.dtbd .s1-nav-arrow.is-prev svg { stroke: #8a8a8a; }
.dtbd .s1-nav-arrow.is-prev:hover { border-color: var(--qts-red); }
.dtbd .s1-nav-arrow.is-prev:hover svg { stroke: var(--qts-red); }

.dtbd .s1-nav-arrow.is-next { background: var(--qts-red); border: 1px solid var(--qts-red); }
.dtbd .s1-nav-arrow.is-next svg { stroke: #ffffff; }
.dtbd .s1-nav-arrow.is-next:hover { background: #AA182C; border-color: #AA182C; }

.dtbd .s1-nav-arrow.is-disabled { opacity: 0.4; pointer-events: none; }

.dtbd .carousel-card, .dtbd .carousel-side-card { cursor: pointer; }

:root {

	  --s1-header: 174px;

	  --carousel-primary-w: calc(clamp(16rem, 34vw, 38rem) - 10px);
	  --carousel-primary-h: calc(70vh - 10px);
	  --carousel-thumb-scale: 0.35;
	  --carousel-thumb-w: calc(var(--carousel-primary-w) * var(--carousel-thumb-scale));
	  --carousel-thumb-h: calc(var(--carousel-primary-h) * var(--carousel-thumb-scale));
	  --carousel-side-gap: 1rem;
	}

.dtbd .carousel-primary-frame {
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  width: var(--carousel-primary-w);
	  height: var(--carousel-primary-h);
	  transform: translate(-50%, -50%);
	  z-index: 6;
	}

.dtbd .carousel-primary-window {
	  position: relative;
	  width: 100%;
	  height: 100%;
	  overflow: hidden;
	  border-radius: 19px;
	  opacity: 0;
	  transform-origin: 50% 50%;
	  will-change: transform, opacity;
	}
.dtbd .carousel-primary-track {
	  display: flex;
	  height: 100%;
	  will-change: transform;
	}
.dtbd .carousel-card {
	  position: relative;
	  flex: 0 0 var(--carousel-primary-w);
	  width: var(--carousel-primary-w);
	  height: 100%;
	  background: #efe9e1;
	  overflow: hidden;
	}
.dtbd .carousel-card img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	}

.dtbd .carousel-card video.card-video {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	}

.dtbd .carousel-card--ad .ad-img { object-position: 70% 45%; }

.dtbd .carousel-card--ad .ad-img--elec { object-position: 70% center; }

.dtbd .carousel-card--ad .ad-img--tax { object-position: 60% center; }

.dtbd .carousel-card--ad .ad-img--donation { object-position: 50% center; }

.dtbd .ad-scrim {
	  position:absolute; inset:0; pointer-events:none;
	  background:
		linear-gradient(to top, rgba(4,26,32,0.62) 0%, rgba(4,26,32,0.18) 42%, rgba(4,26,32,0) 70%),
		radial-gradient(120% 60% at 50% 78%, rgba(4,26,32,0.35) 0%, rgba(4,26,32,0) 60%);
	}
.dtbd .ad-copy {
	  position:absolute; left:0; right:0; bottom:9%;
	  padding:0 7%; text-align:center; color:#fff;
	}
.dtbd .ad-line { display:block; line-height:1.04; opacity:0; }

.dtbd .ad-l1, .dtbd .ad-l3 { font-weight:500; font-size:clamp(1.35rem, 3vw, 2.1rem); letter-spacing:0.005em; }
.dtbd .ad-l2 { font-weight:700; color:#CC2031; font-size:clamp(2.6rem, 6vw, 4rem); letter-spacing:-0.01em; margin:-0.04em 0 0.06em; }

.dtbd .carousel-side-window {
	  position: absolute;
	  top: 50%;
	  height: var(--carousel-thumb-h);
	  overflow: hidden;
	  border-radius: 24px;
	  z-index: 6;
	  opacity: 0;
	  transform: translateY(-50%);
	  will-change: opacity;
	}
.dtbd .carousel-side-window.is-left {

	  left: 0;
	  right: calc(50% + (var(--carousel-primary-w) / 2) + var(--carousel-side-gap));
	}
.dtbd .carousel-side-window.is-right {

	  left: calc(50% + (var(--carousel-primary-w) / 2) + var(--carousel-side-gap));
	  right: 0;
	}
.dtbd .carousel-side-track {
	  display: flex;
	  gap: 0.75rem;
	  height: 100%;
	  will-change: transform;
	}
.dtbd .carousel-side-card {
	  position: relative;
	  flex: 0 0 var(--carousel-thumb-w);
	  width: var(--carousel-thumb-w);
	  height: 100%;
	  background: #efe9e1;
	  border-radius: 24px;
	  overflow: hidden;
	}

.dtbd .carousel-side-card::after {
	  content: '';
	  position: absolute;
	  inset: 0;
	  background: rgba(255, 255, 255, 0.45);
	  pointer-events: none;
	  border-radius: inherit;
	}
.dtbd .carousel-side-card img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	}

.dtbd .carousel-card img.is-anchor-left, .dtbd .carousel-side-card img.is-anchor-left { object-position: left center; }

.dtbd .carousel-card img.is-anchor-kid, .dtbd .carousel-side-card img.is-anchor-kid { object-position: 55% center; }

:root {
	  --commit-card-w: 1260px;
	  --commit-card-h: min(680px, calc(66vh - 80px));
	  --commit-gap: 15px;
	  --commit-card-top: 34vh;
	}

.dtbd .commitments-stage {
	  position: relative;
	  height: 400vh;
	  background: #ffffff;
	  z-index: 13;
	}
.dtbd .commitments-pin {
	  position: sticky;
	  top: 0;
	  height: 100vh;
	  overflow: hidden;
	  background: #ffffff;
	}

.dtbd .commit-head {
	  position: absolute;

	  left: max(clamp(2rem, 5vw, 5rem), calc(50vw - 730px));
	  bottom: calc(100vh - var(--commit-card-top) + 80px);
	  z-index: 6;
	  opacity: 1;
	  will-change: opacity, transform;
	}
.dtbd .commit-eyebrow {
	  font-family: 'Founders Grotesk', 'Plus Jakarta Sans', 'Elza', sans-serif;
	  font-weight: 700;
	  font-size: 0.6875rem;
	  letter-spacing: 0.22em;
	  text-transform: uppercase;
	  color: #CC2031;
	  margin: 0 0 0.75rem 0;
	}
.dtbd .commit-heading {
	  font-family: 'Elza', 'Plus Jakarta Sans', sans-serif;
	  font-weight: 400;
	  font-size: clamp(2rem, 3.5vw, 3.25rem) !important;
	  line-height: 1.05;
	  letter-spacing: -0.02em;
	  color: #1d1d1f;
	  margin: 0;
	}

.dtbd .commit-slider {
	  position: absolute;
	  top: var(--commit-card-top);
	  left: 0; right: 0;
	  z-index: 5;
	  opacity: 1;
	  will-change: opacity, transform;
	}
.dtbd .commit-track {
	  display: flex;
	  gap: var(--commit-gap);
	  will-change: transform;
	}
.dtbd .commit-card {
	  position: relative;
	  flex: 0 0 var(--commit-card-w);
	  width: var(--commit-card-w);
	  height: var(--commit-card-h);
	  border-radius: 28px;
	  overflow: hidden;
	  background: #efe9e1;
	  transform-origin: 50% 50%;
	  will-change: transform, opacity;
	}
.dtbd .commit-card img {
	  position: absolute; inset: 0;
	  width: 100%; height: 100%;
	  object-fit: cover;
	  display: block;
	}

.dtbd .commitments-stage .commit-card img {
	  max-width: none !important;
	  max-height: none !important;
	  width: 100% !important;
	  height: 100% !important;
	}
.dtbd .commit-card--sus  img { object-position: 50% 42%; }

.dtbd .commit-card--comm img { object-position: 50% 42%; }
.dtbd .commit-card--give img { object-position: 50% 55%; }

.dtbd .commit-card-scrim {
	  position: absolute; inset: 0;

	  background:
		radial-gradient(116% 120% at 50% 41%,
			rgba(0,0,0,0) 26%,
			rgba(0,0,0,0.24) 52%,
			rgba(0,0,0,0.64) 100%),
		linear-gradient(to top, rgba(0,0,0,0.46) 0%, rgba(0,0,0,0.14) 18%, rgba(0,0,0,0) 38%);
	  pointer-events: none;
	}
.dtbd .commit-card-copy {
	  position: absolute;
	  left: clamp(1.5rem, 3vw, 3rem);
	  right: clamp(1.5rem, 3vw, 3rem);
	  bottom: clamp(1.5rem, 3vh, 2.5rem);
	  z-index: 2;
	}
.dtbd .commit-card-title {
	  font-family: 'Elza', system-ui, sans-serif;
	  font-weight: 500;
	  font-size: clamp(1.7rem, 2.9vw, 2.75rem) !important;
	  line-height: 0.98;
	  letter-spacing: -0.02em;
	  color: #ffffff;
	  margin: 0 0 0.6rem 0;
	}
.dtbd .commit-card-statement {
	  font-family: 'Elza', system-ui, sans-serif;
	  font-weight: 400;
	  font-size: clamp(0.95rem, 1.15vw, 1.2rem);
	  line-height: 1.35;
	  max-width: 34ch;
	  color: rgba(255,255,255,0.92);
	  margin: 0 0 0.9rem 0;
	}
.dtbd .commit-card-copy .commit-card-cta {
	  font-family: 'Elza', system-ui, sans-serif;
	  font-weight: 400;
	  font-size: clamp(0.85rem, 1vw, 1.05rem);
	  color: #ffffff;
	  text-decoration: none;
	}
.dtbd .commit-card-cta .arrow { font-weight: 400; transition: transform 0.3s ease; display: inline-block; }
.dtbd .commit-card-link { position: absolute; inset: 0; z-index: 3; cursor: pointer; }
.dtbd .commit-card-link:hover ~ .commit-card-copy .commit-card-cta .arrow { transform: translateX(5px); }
@media (prefers-reduced-motion: reduce) {
  .dtbd .s1-stage { height: 100vh; }
  .dtbd .s1-text-line { opacity: 1 !important; transform: translateY(-50%) !important; }
}

@media (max-width: 767px) {

  .dtbd .s1-stage {
		position: relative !important; margin-top: calc(var(--s1-hdr, 76px) * -1) !important;

		height: calc(100svh + 264vh) !important;
	  }
  .dtbd .commitments-stage { height: auto !important; }
  .dtbd .commitments-pin { position: static !important; height: auto !important; overflow: visible !important; }

  .dtbd .s1-pin {
		position: sticky !important; top: 0 !important;
		height: 100svh !important; min-height: 100svh !important; overflow: hidden !important;
		display: flex !important; flex-direction: column !important;
		align-items: center !important; justify-content: flex-start !important;
		padding: calc(var(--s1-hdr, 76px) + 11vh) 0 clamp(14px, 2vh, 28px) !important;
	  }

  .dtbd .carousel-side-window, .dtbd .s1-nav-arrows { display: none !important; }
  .dtbd .s1-text-wrap { display: none !important; }
  .dtbd .scene-line { display: none !important; }

  .dtbd .intro-text {
		position: absolute !important; top: calc(var(--s1-hdr, 76px) + 1.5vh) !important; left: 50% !important;
		width: 96vw !important; margin: 0 !important; padding: 0 !important;
		text-align: center !important; opacity: var(--heroFade, 1) !important; z-index: 20 !important;
		transform: translateX(-50%) translateY(var(--introY, 0px)) scale(var(--introS, 0.6)) !important;
		transform-origin: top center !important;
	  }
  .dtbd .intro-1, .dtbd .intro-3 { font-size: clamp(1.4rem, 6vw, 2.1rem) !important; }
  .dtbd .intro-2 { font-size: clamp(3rem, 15vw, 4.4rem) !important; margin: .02em 0 !important; }
  .dtbd .intro-1 .line-rise, .dtbd .intro-3 .line-rise { display: inline-block !important; transform: translateY(var(--rise, 0%)) !important; }
  .dtbd #lineDifferent { display: inline-block !important; opacity: var(--diffO, 1) !important; transform: translateY(var(--diffY, 0px)) !important; }

  .dtbd .carousel-primary-frame {
		position: static !important; order: 1 !important;
		flex: 1 1 auto !important; min-height: 0 !important;
		width: 86vw !important; height: auto !important; margin: 0 auto !important; overflow: hidden !important;
		opacity: calc(var(--revO, 1) * var(--frameFade, 1)) !important; transform: translateY(var(--revY, 0px)) !important;
	  }
  .dtbd .carousel-primary-window {
		opacity: 1 !important; width: 100% !important; height: 100% !important;
		overflow: hidden !important; border-radius: 18px !important; padding: 0 !important;
	  }
  .dtbd .carousel-primary-track {
		display: flex !important; gap: 4.5vw !important; height: 100% !important;
		transform: translateX(var(--tx, 0px)) !important; will-change: transform;
	  }
  .dtbd .carousel-card {
		flex: 0 0 86vw !important; width: 86vw !important;
		height: 100% !important; border-radius: 18px !important;
	  }
  .dtbd .ad-line { opacity: 1 !important; transform: none !important; }

  .dtbd .scroll-cue {
		display: flex !important; position: static !important; order: 3 !important;
		transform: none !important; left: auto !important; bottom: auto !important;
		margin: clamp(12px, 2vh, 22px) 0 0 !important; flex: 0 0 auto !important;
		opacity: calc(var(--revO, 1) * var(--heroFade, 1)) !important;
	  }

  .dtbd .commitments-stage, .dtbd .s4, .dtbd .s5 { position: relative !important; z-index: 40 !important; }

  .dtbd .s4 { padding-bottom: clamp(44px, 9vh, 96px) !important; }

  .dtbd .commit-head {
			position: static !important; opacity: 1 !important; transform: none !important;
			left: auto !important; bottom: auto !important; padding: 10vh 7vw 4vh;
		  }
  .dtbd .commit-slider {
			position: static !important; opacity: 1 !important; transform: none !important;
			top: auto !important;
		  }
  .dtbd .commit-track {
			flex-direction: column !important; gap: 16px !important;
			transform: none !important; padding: 0 7vw 340px;
		  }
  .dtbd .commit-card {
			flex: 0 0 auto !important; width: 100% !important; height: auto !important;
			aspect-ratio: 4 / 5; border-radius: 20px;
		  }
}

.dtbd .tm { font-size: 0.34em; vertical-align: super; font-style: normal; font-weight: 400; letter-spacing: normal; margin-left: 0.18em; }

.dtbd .s4 {
	position: relative;
	width: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	z-index: 4;
	overflow: hidden;
	color: #1d1d1f;
  }

.dtbd .s4:not(.s4--unpinned) { min-height: 100vh; }
.dtbd .s4 .section__idx { color: rgba(0,0,0,0.2); }
.dtbd .s4 .section__idx b { color: rgba(0,0,0,0.38); }
.dtbd .s4__head {
	padding: clamp(3rem, 5vw, 5rem) clamp(2rem, 5vw, 5rem) 1.75rem;

	padding-left: max(clamp(2rem, 5vw, 5rem), calc(50vw - 730px));
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2rem;
  }
.dtbd .s4__head-left { max-width: 600px; }
.dtbd .s4__eyebrow {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', 'Elza', sans-serif;
	font-weight: 700; font-size: 0.6875rem;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: #CC2031; margin-bottom: 0.75rem;
  }
.dtbd .s4__headline {
	font-family: 'Elza', 'Plus Jakarta Sans', sans-serif;
	font-weight: 400;
	font-size: clamp(2rem, 3.5vw, 3.25rem) !important;
	line-height: 1.05; letter-spacing: -0.02em;
	color: #1d1d1f; max-width: 22ch;
  }
.dtbd .s4__headline em { font-style: italic; }
.dtbd .s4__explore-cta {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', 'Elza', sans-serif;
	font-weight: 700; font-size: 0.8125rem;
	letter-spacing: 0.06em; text-transform: uppercase;
	color: #fff; text-decoration: none;
	display: inline-flex; align-items: center; gap: 0.55rem;
	padding: 0.85rem 1.75rem;
	background: #CC2031; border-radius: 100px;
	white-space: nowrap; flex-shrink: 0;
	transition: background 0.25s ease;
  }
.dtbd .s4__explore-cta:hover { background: #a81a27; color: #fff; }

.dtbd .s4__card.s4__card--explore {
	background: #0033A0;
	border-color: transparent;
  }
.dtbd .s4__card.s4__card--explore .s4__card-body {
	flex: 1;
	display: flex; flex-direction: column;
	justify-content: flex-end;
	gap: 0.75rem;
	padding: 1.75rem 1.25rem;
  }
.dtbd .s4__card.s4__card--explore .s4__explore-eyebrow {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', sans-serif;
	font-weight: 700; font-size: 0.5625rem;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(255,255,255,0.55);
  }
.dtbd .s4__card.s4__card--explore .s4__explore-headline {
	font-family: 'Elza', 'Plus Jakarta Sans', sans-serif;
	font-weight: 400; font-size: clamp(1.4rem, 1.8vw, 1.75rem);
	line-height: 1.15; letter-spacing: -0.02em;
	color: #fff;
  }
.dtbd .s4__card.s4__card--explore .s4__explore-all-cta {
	display: inline-flex; align-items: center; gap: 0.4rem;
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', sans-serif;
	font-weight: 700; font-size: 0.75rem;
	letter-spacing: 0.1em; text-transform: uppercase;
	color: #fff; text-decoration: none;
	margin-top: 0.5rem;
	transition: gap 0.25s ease, opacity 0.25s ease;
  }
.dtbd .s4__card.s4__card--explore:hover .s4__explore-all-cta { gap: 0.7rem; opacity: 0.75; color: #fff; }
.dtbd .s4__progress-dots {
	display: flex; align-items: center; justify-content: center; gap: 0.5rem;
	padding: 1.25rem 0 2rem;
	background: #fff;
  }
.dtbd .s4__pdot {
	display: block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: rgba(0,0,0,0.18);
	transition: background 0.3s ease, transform 0.3s ease;
  }
.dtbd .s4__pdot.is-active {
	background: #CC2031;
	transform: scale(1.45);
  }

.dtbd .s4__map-wrap {
	position: relative;
	height: clamp(260px, 44vh, 480px);
  }
.dtbd #s4-map { position: absolute; inset: 0; }

.dtbd #s4-map { background: #e7edf2; }

.dtbd #s4-map .mapboxgl-ctrl-logo, .dtbd #s4-map .mapboxgl-ctrl-attrib { opacity: 0.8; }

.dtbd .s4-marker {
	display: flex; align-items: center; gap: 7px;
	cursor: pointer;
  }
.dtbd .s4-marker__dot {
	width: 11px; height: 11px; border-radius: 50%;
	background: #CC2031;
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.35);
	flex-shrink: 0;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	position: relative; z-index: 1;
  }

.dtbd .s4-marker--multi .s4-marker__dot {
	width: 20px; height: 20px;
	display: flex; align-items: center; justify-content: center;
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', sans-serif;
	font-weight: 700; font-size: 11px; line-height: 1; color: #fff;
  }
.dtbd .s4-marker.is-active .s4-marker__dot {
	transform: scale(1.5);
	box-shadow: 0 0 0 5px rgba(204,32,49,0.2), 0 1px 4px rgba(0,0,0,0.3);
  }
.dtbd .s4-marker__label {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', sans-serif;
	font-weight: 700; font-size: 0.5625rem;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: #1d1d1f; white-space: nowrap;
	text-shadow: 0 1px 3px rgba(255,255,255,0.85);
	transition: color 0.3s ease;
  }
.dtbd .s4-marker.is-active .s4-marker__label { color: #CC2031; }

.dtbd .s4-marker.is-active .s4-marker__dot::after {
	content: ''; position: absolute; left: 50%; top: 50%;
	width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; border-radius: 50%;
	border: 2px solid rgba(204,32,49,0.55); pointer-events: none;
	animation: s4-pulse 1.8s ease-out infinite;
  }
@keyframes s4-pulse { 0% { transform: scale(0.6); opacity: 0.85; } 100% { transform: scale(3); opacity: 0; } }

.dtbd .s4__carousel-wrap {
	background: #fff;
	padding-top: 1.75rem;
	overflow: hidden;
  }
.dtbd .s4__cards-scroll {
	display: flex; gap: 1.5rem;
	scrollbar-width: none;
	padding: 1rem 0 1.5rem;
	will-change: transform;
  }
.dtbd .s4__cards-scroll::-webkit-scrollbar { display: none; }

.dtbd .s4--unpinned .s4__carousel-wrap { overflow: visible; }
.dtbd .s4--unpinned .s4__cards-scroll {
	overflow-x: auto; overflow-y: hidden;
	transform: none !important;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-left: max(clamp(2rem, 5vw, 5rem), calc(50vw - 730px));
	padding-right: clamp(2rem, 5vw, 5rem);
	scroll-padding-left: max(clamp(2rem, 5vw, 5rem), calc(50vw - 730px));
  }
.dtbd .s4--unpinned .s4__cards-scroll::-webkit-scrollbar { display: none; }
.dtbd .s4--unpinned .s4__card { opacity: 1 !important; transform: none !important; scroll-snap-align: start; }

.dtbd .s4__cards-nav { display: none; }
.dtbd .s4--unpinned .s4__cards-nav {
	display: flex; justify-content: center; align-items: center; gap: 1rem;
	background: #fff; padding: 1.75rem 0 3rem;
  }

.dtbd .s4__cards-arrow {
	width: clamp(46px, 3.4vw, 56px);
	height: clamp(46px, 3.4vw, 56px);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; padding: 0;
	transition: background 0.2s ease, border-color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
  }
.dtbd .s4__cards-arrow svg {
	width: 42%; height: 42%; fill: none;
	stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round;
  }
.dtbd .s4__cards-arrow--prev { background: #ffffff; border: 1px solid #d8d8d8; }
.dtbd .s4__cards-arrow--prev svg { stroke: #8a8a8a; }
.dtbd .s4__cards-arrow--prev:hover { border-color: #CC2031; }
.dtbd .s4__cards-arrow--prev:hover svg { stroke: #CC2031; }
.dtbd .s4__cards-arrow--next { background: #CC2031; border: 1px solid #CC2031; }
.dtbd .s4__cards-arrow--next svg { stroke: #ffffff; }
.dtbd .s4__cards-arrow--next:hover { background: #AA182C; border-color: #AA182C; }
.dtbd .s4__cards-arrow[disabled] { opacity: 0.4; pointer-events: none; }
@media (max-width: 767px) {
  .dtbd .s4--unpinned .s4__cards-nav { display: none; }
}
.dtbd .s4__card {
	flex: 0 0 22rem;
	display: flex; flex-direction: column;
	background: #fff;
	border: 1px solid rgba(0,0,0,0.09);
	border-radius: 24px;
	overflow: hidden;
	cursor: pointer;
	transform: scale(0.95);
	opacity: 0.4;
	transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  }
.dtbd .s4__card.is-active {
	box-shadow: 0 6px 28px rgba(0,0,0,0.12);
	border-color: transparent;
	transform: scale(1);
	opacity: 1;
  }
.dtbd .s4__card-image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #e4e4e4;
	overflow: hidden;
  }
.dtbd .s4__card-image img {
	position: absolute; inset: 0;
	width: 100%; height: 100%; object-fit: cover; display: block;
	transition: transform 0.6s ease;
  }
.dtbd .s4__card:hover .s4__card-image img { transform: scale(1.04); }

.dtbd .s4__card-image.is-ph {
	background:
	  repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 11px),
	  #eceef1;
	display: flex; align-items: center; justify-content: center;
  }
.dtbd .s4__card-image.is-ph span:not(.s4__card-play) {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', sans-serif;
	font-size: 0.625rem; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(0,0,0,0.30);
  }

.dtbd .s4__card-image.is-logo { background: #ffffff; }
.dtbd .s4__card-image.is-logo img { object-fit: contain; padding: 14% 16%; box-sizing: border-box; }

.dtbd .s4__card-play {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 52px; height: 52px; border-radius: 50%;
	background: rgba(0,0,0,0.48); border: 1.5px solid rgba(255,255,255,0.9);
	display: flex; align-items: center; justify-content: center;
	pointer-events: auto; cursor: pointer; z-index: 3;
	transition: background 0.3s ease, transform 0.3s ease;
  }
.dtbd .s4__card-play svg { width: 18px; height: 18px; fill: #fff; margin-left: 3px; pointer-events: none; }
.dtbd .s4__card-play:hover { background: rgba(204,32,49,0.95); transform: translate(-50%, -50%) scale(1.1); }
.dtbd .s4-lightbox {
	position: fixed; inset: 0; z-index: 9999;
	display: none; align-items: center; justify-content: center; padding: 5vh 5vw;
  }
.dtbd .s4-lightbox.is-open { display: flex; }
.dtbd .s4-lightbox__backdrop { position: absolute; inset: 0; background: rgba(5,5,5,0.86); cursor: pointer; }
.dtbd .s4-lightbox__dialog { position: relative; z-index: 1; width: min(1080px, 100%); }
.dtbd .s4-lightbox__frame {
	position: relative; width: 100%; aspect-ratio: 16 / 9;
	background: #000; border-radius: 10px; overflow: hidden;
	box-shadow: 0 24px 80px rgba(0,0,0,0.55);
  }
.dtbd .s4-lightbox__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dtbd .s4-lightbox__close {
	position: absolute; top: -42px; right: 0; width: 36px; height: 36px;
	background: transparent; border: 0; color: #fff; font-size: 30px; line-height: 1;
	cursor: pointer; opacity: 0.85;
  }
.dtbd .s4-lightbox__close:hover { opacity: 1; }
.dtbd .s4-lightbox__story {
	display: inline-block; margin-top: 16px;
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', sans-serif;
	font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase;
	color: rgba(255,255,255,0.8); text-decoration: none;
  }
.dtbd .s4-lightbox__story:hover { color: #fff; }
.dtbd .s4__card-body {
	padding: 1.25rem 1.4rem 1.5rem;
	display: flex; flex-direction: column; gap: 0.55rem; flex: 1;
  }
.dtbd .s4__card-loc {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', 'Elza', sans-serif;
	font-weight: 700; font-size: 0.5625rem;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: rgba(0,0,0,0.3); transition: color 0.3s ease;
  }
.dtbd .s4__card.is-active .s4__card-loc { color: #CC2031; }
.dtbd .s4__card-text {
	font-family: 'Elza', 'Plus Jakarta Sans', sans-serif;
	font-weight: 400; font-size: 0.875rem;
	line-height: 1.45; color: #3d3d3f;
  }
.dtbd .s4__card-link {
	font-family: 'Founders Grotesk', 'Plus Jakarta Sans', 'Elza', sans-serif;
	font-weight: 600; font-size: 0.625rem;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: rgba(0,0,0,0.32); text-decoration: none;
	display: inline-flex; align-items: center; gap: 0.35rem;
	margin-top: auto;
	transition: color 0.3s ease, gap 0.3s ease;
  }
.dtbd .s4__card.is-active .s4__card-link { color: #1d1d1f; }

.dtbd .s4__card-link:hover, .dtbd .s4__card.is-active .s4__card-link:hover { color: #CC2031; gap: 0.6rem; }

.dtbd .s4__nav-row {
	background: #fff;
	display: flex; align-items: center; justify-content: center; gap: 1rem;
	padding: 1.25rem clamp(2rem, 5vw, 5rem) 2.75rem;
  }
.dtbd .s4__nav-pill {
	display: flex; align-items: center; gap: 0.55rem;
	background: #1C3BAD;
	border-radius: 100px;
	padding: 15px 22px;
  }
.dtbd .s4__dot {
	position: relative;
	width: 10px; height: 10px;
	border-radius: 50%;
	background: #ffffff;
	border: none; padding: 0; cursor: pointer;
	overflow: hidden; flex-shrink: 0;

	transition: width 0.3s ease, border-radius 0.3s ease;
  }
.dtbd .s4__dot.is-active {
	width: 88px;
	border-radius: 100px;
	background: #ffffff;
  }
.dtbd .s4__dot-fill {
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 0%;
	background: #CC2031; border-radius: 100px;
  }
.dtbd .s4 .s4__play-pause {
	width: 40px; height: 40px; border-radius: 50%;
	background: #1C3BAD; border: none; color: #fff;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; flex-shrink: 0;
	transition: background 0.2s ease;
  }
.dtbd .s4 .s4__play-pause:hover { background: #15308c; }
.dtbd .s4__play-pause svg { width: 13px; height: 13px; fill: currentColor; display: block; }
.dtbd .s4__play-pause:not(.is-paused) svg { margin-left: 2px; }

@media (max-width: 767px) {
  .dtbd .s4__head { flex-direction: column; align-items: flex-start; gap: 1.1rem; padding: clamp(2.5rem, 6vw, 3.5rem) 7vw 1.25rem; }
  .dtbd .s4__head-left { max-width: none; }
  .dtbd .s4__explore-cta { display: none !important; }
  .dtbd .s4__map-wrap { height: 180px; }
  .dtbd .s4__carousel-wrap { overflow: visible; padding-top: 1.25rem; }
  .dtbd .s4__cards-scroll { overflow-x: auto; overflow-y: hidden; transform: none !important; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 1rem; padding: 1rem 7vw 1.5rem; scroll-padding: 0 7vw; }
  .dtbd .s4__cards-scroll::-webkit-scrollbar { display: none; }
  .dtbd .s4__card { flex: 0 0 78vw; opacity: 1 !important; transform: none !important; scroll-snap-align: center; }
  .dtbd .s4__progress-dots { padding: 0.75rem 0 1.5rem; }
}

.dtbd .s5 {
	position: relative; min-height: 100vh; width: 100%;
	background: #050505;
	display: flex; align-items: center; justify-content: center;
	padding: 7rem 2rem 11rem;
	overflow: hidden;
	z-index: 5;
  }
.dtbd .s5__video {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
  }
.dtbd .s5__scrim {
	position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.28) 45%, rgba(0,0,0,0.62) 100%);
  }
.dtbd .s5__content {
	position: relative; z-index: 2;
	max-width: 860px; text-align: center; padding: 2rem;
  }
.dtbd .s5__endline {
	font-family: 'Elza', system-ui, sans-serif;
	font-weight: 300;
	font-size: clamp(1.5rem, 2.4vw, 2.125rem);
	line-height: 1.35; letter-spacing: -0.005em;
	color: rgba(255,255,255,0.92);
	margin: 0 auto 3rem; max-width: 620px;
  }
.dtbd .s5__signature {
	font-family: 'Elza', system-ui, sans-serif;
	font-weight: 500; font-style: italic;
	font-size: clamp(2.75rem, 5.5vw, 5rem);
	line-height: 1; letter-spacing: -0.02em; color: #fff;
	margin: 0;
  }
.dtbd .s5__pathways-wrap {
	position: absolute; bottom: 3rem; left: 0; right: 0;
	z-index: 3; padding: 0 clamp(2rem, 4vw, 4rem);
	pointer-events: none;
  }
.dtbd .s5__pathways {
	max-width: 1040px; margin: 0 auto;
	display: grid; grid-template-columns: repeat(3, 1fr);
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255,255,255,0.18);
	pointer-events: auto;
  }
.dtbd .s5__path {
	display: flex; flex-direction: column; gap: 0.6rem;
	padding: 0.5rem 1.5rem;
	text-decoration: none; color: inherit;
	border-right: 1px solid rgba(255,255,255,0.12);
	transition: opacity 0.3s ease;
  }
.dtbd .s5__path:last-child { border-right: none; }
.dtbd .s5__path-eyebrow {
	font-family: 'Founders Grotesk', 'Elza', system-ui, sans-serif;
	font-weight: 500; font-size: 0.625rem;
	letter-spacing: 0.24em; text-transform: uppercase;
	color: rgba(255,255,255,0.6);
  }
.dtbd .s5__path-label {
	font-family: 'Elza', system-ui, sans-serif;
	font-weight: 400;
	font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
	color: #fff;
	display: inline-flex; align-items: baseline; gap: 0.5rem;
	transition: gap 0.3s ease;
  }
.dtbd .s5__path:hover .s5__path-label { gap: 0.85rem; }
.dtbd .s5__path-arrow {
	color: rgba(255,255,255,0.55);
	transition: color 0.3s ease, transform 0.3s ease;
	display: inline-block;
  }
.dtbd .s5__path:hover .s5__path-arrow { color: #fff; transform: translateX(3px); }

@media (max-width: 767px) {
  .dtbd .s5__signature { font-size: clamp(2rem, 9.5vw, 2.6rem); }
  .dtbd .s5__pathways { grid-template-columns: 1fr; padding-top: 1rem; }
  .dtbd .s5__pathways::before {
    content: "Our Commitments";
    display: block;
    font-family: 'Founders Grotesk', 'Elza', system-ui, sans-serif;
    font-weight: 500; font-size: 0.7rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin-bottom: 0.5rem;
  }
  .dtbd .s5__path-eyebrow { display: none; }

  .dtbd .s5__path { border-right: none; padding: 0.3rem 0; }
}
.dtbd .tm { font-size: 0.34em; vertical-align: super; font-style: normal; font-weight: 400; letter-spacing: normal; margin-left: 0.18em; }

.dtbdv2 *, .dtbdv2 *::before, .dtbdv2 *::after { box-sizing: border-box; margin: 0; padding: 0; }

.dtbdv2 {
  --qts-red: #CC2031;
  font-family: 'Elza', system-ui, -apple-system, sans-serif;
}

.dtbdv2-frame {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  background: #1d1d1f;
}
.dtbdv2-frame .dtbdv2-frame__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.dtbdv2-frame__scrim {
  position: absolute; inset: 0; pointer-events: none;
  background:
	linear-gradient(270deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.26) 32%, rgba(0,0,0,0.08) 56%, rgba(0,0,0,0) 76%),
	radial-gradient(108% 108% at 38% 44%, rgba(0,0,0,0) 6%, rgba(0,0,0,0.34) 42%, rgba(0,0,0,0.80) 100%);
}

.dtbdv2-text {
  position: absolute; z-index: 2;
  left: calc(58% + 75px);
  top: calc(50% + 125px);
  transform: translateY(-50%);
  max-width: 600px;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.dtbdv2-tagline {
  font-weight: 500;
  font-style: italic;
  font-size: clamp(2rem, 3.7vw, 3.52rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: clamp(1.1rem, 2vw, 1.6rem);
}
.dtbdv2-tagline sup {
  font-style: normal;
  font-size: 0.4em;
  font-weight: 400;
  vertical-align: top;
  margin-left: 0.08em;
  line-height: 1;
}

.dtbdv2-copy p {
  font-weight: 400;
  font-size: clamp(1.1rem, 1.5vw, 1.45rem);
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: rgba(255, 255, 255, 0.95);
}
.dtbdv2-copy p + p { margin-top: 1rem; }

@media (max-width: 1200px) {
  .dtbdv2-text {
    position: absolute;
    inset: auto 0 0 0;
    transform: none;
    max-width: none;
    text-align: left;
    padding: 0 clamp(1.5rem, 5vw, 4rem) clamp(2.5rem, 9vh, 5rem);
  }
  .dtbdv2-frame__scrim {
    background: linear-gradient(0deg, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.55) 24%, rgba(0,0,0,0.18) 52%, rgba(0,0,0,0) 76%);
  }
  .dtbdv2-tagline { font-size: clamp(2.2rem, 6vw, 3.2rem); }
  .dtbdv2-copy p  { max-width: 44rem; }
  .dtbdv2-copy p br { display: none; }
  .dtbdv2-frame .dtbdv2-frame__img { object-position: left bottom; }
}

@media (max-width: 600px) {
  .dtbdv2-text    { inset: 50px 0 auto 0; padding: 0 1.25rem; }
  .dtbdv2-frame__scrim { background: linear-gradient(180deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.38) 30%, rgba(0,0,0,0.08) 58%, rgba(0,0,0,0) 76%); }
  .dtbdv2-tagline { font-size: clamp(1.85rem, 8.5vw, 2.6rem); margin-bottom: 0.9rem; }
  .dtbdv2-copy p  { font-size: clamp(1rem, 4.3vw, 1.18rem); max-width: none; }
  .dtbdv2-copy p + p { margin-top: 0.75rem; }
}
