/* Fixed brand contrast fields, with the established content width preserved. */
#vision-package,
.inquiry-section {
  --text: #ffffff;
  --muted: #cbd5de;
  --inverse: #1f201f;
  --bg: #20272c;
  --panel: #2e3a43;
  --panel-soft: #252e35;
  --rule: #52616d;
  --accent-strong: #dae5ef;
  color: var(--text);
  color-scheme: dark;
}
#vision-package {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 95% 16%, #394956 0, #293238 40%, transparent 63%),
    radial-gradient(ellipse at 3% 95%, #293238 0, transparent 60%), #1f201f;
  border-block: 1px solid #46525b;
}
#vision-package > .wrap { position: relative; z-index: 1; }
.vision-pattern {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: .17;
  -webkit-mask-image: linear-gradient(110deg, transparent 25%, #000 100%);
  mask-image: linear-gradient(110deg, transparent 25%, #000 100%);
}
.vision-pattern::before {
  content: '';
  position: absolute;
  inset: -96px -144px;
  background: url('./assets/vision-pattern-tile.svg') 0 0 / 144px 96px repeat;
  animation: vision-pattern-drift 28s linear infinite;
  animation-play-state: paused;
  will-change: transform;
}
#vision-package[data-motion-running="true"] .vision-pattern::before { animation-play-state: running; }
@keyframes vision-pattern-drift { to { transform: translate3d(144px, 96px, 0); } }
.vision-section-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.vision-section-top .eyebrow { color: #d7e3ec; margin: 0; }
.vision-motion-toggle { font-size: 12px; min-height: 44px; padding: 10px 0; color: #cbd5de; }
.vision-motion-toggle[hidden] { display: none; }
#vision-package .team-allocation article {
  background: #202b34e6;
  border: 1px solid #71869880;
  border-top: 2px solid #b5c8d8;
}
#vision-package .team-allocation .icon-image { position: static; display: block; margin-bottom: 12px; width: 28px; height: 28px; filter: brightness(0) invert(1); opacity: .8; }
#vision-package .team-deliverables dl { gap: 26px 28px; }
#vision-package .team-deliverables dl > div { min-width: 0; border-top: 1px solid #a1b2c040; padding-top: 18px; }
#vision-package .team-deliverables dt { display: flex; flex-direction: column; gap: 12px; line-height: 1.4; }
.deliverable-icon { display: block; flex: 0 0 auto; color: #c8d5df; }
#vision-package .team-deliverables dd { margin-top: 7px; }
#vision-package .vision-total { border-color: #a1b2c055; }
#vision-package .vision-bts-photo img { border: 1px solid #a1b2c055; }

/* Feathered slate washes give the reading sections softer separation. */
.service-intro {
  background: radial-gradient(ellipse at 100% 0, #6d819633, transparent 64%),
    radial-gradient(ellipse at 0 100%, #6d819614, transparent 52%), var(--bg);
}
.add-ons-section {
  background: radial-gradient(ellipse at 0 0, #6d819633, transparent 66%),
    radial-gradient(ellipse at 100% 100%, #6d819618, transparent 52%), var(--bg);
}
.inquiry-section {
  background: radial-gradient(ellipse at 100% 100%, #394956, transparent 64%),
    radial-gradient(ellipse at 0 0, #293238, transparent 58%), #171b1e;
  border-top-color: #46525b;
}
.inquiry-section::before { opacity: .18; }
.inquiry-section .field input,
.inquiry-section .field select,
.inquiry-section .field textarea { background: #1f272de6; border-color: #657582; }
.inquiry-section .selected-summary { border-color: #657582; }
@media (max-width: 767px) {
  #vision-package { padding-block: 48px; }
  .vision-section-top { gap: 12px; margin-bottom: 20px; }
  .vision-pattern { opacity: .12; }
  #vision-package .team-deliverables dl { gap: 22px 20px; }
  #vision-package .team-allocation article { padding: 18px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .vision-pattern::before { animation: none; will-change: auto; }
  .vision-motion-toggle { display: none; }
}
@media print {
  #vision-package, .inquiry-section { --text: #1f201f; --muted: #4f5d6b; --inverse: #fff; --rule: #cfd7de; color: #1f201f; background: #fff; }
  .vision-pattern, .vision-motion-toggle { display: none; }
  #vision-package .team-allocation article { background: #edf1f4; }
  #vision-package .team-allocation .icon-image { filter: none; }
  .deliverable-icon { color: #6d8196; }
}
