/* Shared bridge theme for Scottie's deep-dive pages.
   Keeps the original content architecture while tying it to the new tactile editorial homepage. */
:root {
  --pink: #ff21a8 !important;
  --pink-hot: #ff21a8 !important;
  --cyan: #25d6ff !important;
  --green: #38ff3d !important;
  --orange: #ff793f !important;
  --navy: #17142f !important;
  --navy-deep: #110f26 !important;
  --navy-mid: #24203f !important;
  --grey-soft: #e6e0f4 !important;
  --pink-text: #b80b69 !important;
  --cyan-text: #006f80 !important;
  --green-text: #137328 !important;
  --yellow-text: #6b5d00 !important;
  --purple-text: #6940b8 !important;
}

body { background: #110f26; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 50%;
  z-index: 2147483647;
  transform: translate(-50%, -180%);
  padding: 11px 18px;
  border: 3px solid #17142f;
  border-radius: 10px;
  color: #17142f !important;
  background: #ffe800 !important;
  box-shadow: 4px 5px 0 #17142f;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translate(-50%, 0);
  outline: 3px solid white;
  outline-offset: 3px;
}

.nav {
  top: 12px !important;
  left: 16px !important;
  right: 16px !important;
  padding: 10px 12px 10px 17px !important;
  border: 2px solid #17142f !important;
  border-radius: 16px !important;
  background: rgba(255, 248, 233, .94) !important;
  box-shadow: 5px 6px 0 #17142f !important;
}
.nav-brand {
  color: #17142f !important;
  text-shadow: none !important;
  width: clamp(122px, 12vw, 145px) !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}
.nav-brand::before {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: url('/brand/scottie-logo.png') left center / contain no-repeat;
}
.nav-brand span { display: none !important; }
.nav-links a { color: #17142f !important; font-weight: 800 !important; letter-spacing: 1.5px !important; }
.nav-links a:hover, .nav-links a.active { color: #d41470 !important; text-shadow: none !important; }
.nav-cta {
  color: white !important;
  border: 2px solid #17142f !important;
  border-radius: 10px !important;
  background: #17142f !important;
  box-shadow: none !important;
}
.nav-toggle span { background: #17142f !important; box-shadow: none !important; }

.hero, .hero-short {
  margin: 0 16px !important;
  width: calc(100% - 32px) !important;
  border: 2px solid #17142f;
  border-radius: 30px;
  background: #ff21a8 !important;
  box-shadow: 8px 9px 0 #17142f;
  overflow: hidden;
}
.hero-short { min-height: 560px !important; padding-top: 125px !important; }
.hero::before, .hero-short::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .28;
  background-image: radial-gradient(#17142f 1.2px, transparent 1.2px);
  background-size: 18px 18px;
  pointer-events: none;
}
.hero-bg { opacity: .32 !important; }
.hero-sun { filter: hue-rotate(48deg) saturate(.7) !important; }
.grid-floor { opacity: .22 !important; }
.hero-content { position: relative; z-index: 4; }
.hero-eyebrow {
  color: #17142f !important;
  border: 2px solid #17142f !important;
  border-radius: 999px !important;
  background: #38ff3d !important;
  box-shadow: 3px 4px 0 #17142f !important;
  text-shadow: none !important;
}
.hero h1 {
  font-family: 'Bungee', 'Arial Black', sans-serif !important;
  font-size: clamp(44px, 8.5vw, 128px) !important;
  font-weight: 900 !important;
  color: #17142f !important;
  text-shadow: none !important;
  line-height: .97 !important;
  letter-spacing: -.04em !important;
}
.hero h1 .accent, .hero h1 .period { color: white !important; text-shadow: 4px 5px 0 #17142f !important; }
.hero-script { color: #17142f !important; text-shadow: none !important; }
.hero-sub { color: #17142f !important; text-shadow: none !important; font-weight: 550 !important; }
.hero-sub strong, .hero-sub em { color: #17142f !important; text-shadow: none !important; }

.btn {
  border: 2px solid #17142f !important;
  border-radius: 11px !important;
  box-shadow: 4px 5px 0 #17142f !important;
  font-weight: 900 !important;
  letter-spacing: 1.4px !important;
}
.btn:hover { transform: translate(3px, 3px) !important; box-shadow: 1px 2px 0 #17142f !important; }
.btn-primary { color: white !important; background: #17142f !important; }
.btn-ghost { color: #17142f !important; background: white !important; }

.section-title { letter-spacing: -.04em !important; line-height: .98 !important; text-shadow: none !important; }
.section-title .accent { color: #ff21a8 !important; text-shadow: none !important; position: relative; }
.section-eyebrow { color: #38ff3d !important; text-shadow: none !important; }
.section-eyebrow.pink { color: #ff21a8 !important; text-shadow: none !important; }
.section-lead { line-height: 1.65 !important; }

.card, .scottie-card, .stat-card, .neighbourhood-card, .hood-card, .info-card, .step-card, .value-card, .press-card, .process-step, .vs-card {
  border: 2px solid rgba(70, 216, 255, .72) !important;
  border-radius: 18px !important;
  background: rgba(36, 32, 63, .78) !important;
  box-shadow: 6px 7px 0 rgba(255, 61, 154, .8) !important;
  backdrop-filter: blur(8px);
}
.card:hover, .scottie-card:hover, .neighbourhood-card:hover, .hood-card:hover, .step-card:hover, .value-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 8px 12px 0 rgba(255, 61, 154, .95) !important;
}
.card-icon {
  border: 2px solid #17142f !important;
  border-radius: 11px !important;
  color: #17142f !important;
  background: #ff21a8 !important;
  box-shadow: 3px 4px 0 #17142f !important;
}
.card-icon.cyan { background: #25d6ff !important; }
.process-num, .stat-num { text-shadow: none !important; }

.form, .lead-form, .newsletter-modal-inner {
  border: 2px solid #25d6ff !important;
  border-radius: 20px !important;
  background: #24203f !important;
  box-shadow: 8px 9px 0 #ff21a8 !important;
}
.form-row input, .form-row select, .form-row textarea,
.lead-field input, .lead-field select, .lead-field textarea {
  border: 2px solid rgba(70, 216, 255, .55) !important;
  border-radius: 10px !important;
  background: #17142f !important;
}

.footer {
  margin: 70px 16px 16px !important;
  border: 2px solid #17142f !important;
  border-radius: 28px !important;
  background: #17142f !important;
  overflow: hidden;
}
.footer::before { background: url('/brand/brand-camo.jpg') center / 180px auto repeat-x !important; }
.footer-brand { color: #ff21a8 !important; text-shadow: none !important; }
.footer-tagline { color: #38ff3d !important; text-shadow: none !important; }
.footer h4 { color: #25d6ff !important; text-shadow: none !important; }

@media (max-width: 920px) {
  .nav { left: 10px !important; right: 10px !important; }
  .nav-links { max-height: calc(100vh - 92px) !important; overflow-y: auto !important; overscroll-behavior: contain !important; background: #fff8e9 !important; border: 2px solid #17142f !important; border-radius: 0 0 15px 15px !important; box-shadow: 5px 6px 0 #17142f !important; }
  .hero, .hero-short { margin-inline: 10px !important; width: calc(100% - 20px) !important; border-radius: 22px; }
  .hero-short { min-height: 520px !important; }
  .footer { margin-inline: 10px !important; }
  .nav-brand { width: 118px !important; height: 40px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* V2: turn every editorial/resource/tool page into the same bright Scottie universe.
   Arcade pages intentionally keep their night-mode game cabinet. */
body:not(:has(.game-tabs)) {
  background: #fff8e9 !important;
  background-image: radial-gradient(circle at 14% 11%, rgba(37,214,255,.22), transparent 25%), radial-gradient(circle at 90% 7%, rgba(56,255,61,.21), transparent 23%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs))::before { opacity: .07 !important; filter: hue-rotate(75deg) saturate(1.8) !important; }
body:not(:has(.game-tabs)) p,
body:not(:has(.game-tabs)) li,
body:not(:has(.game-tabs)) label,
body:not(:has(.game-tabs)) .section-lead,
body:not(:has(.game-tabs)) .prose { color: #423c51 !important; }
body:not(:has(.game-tabs)) h1,
body:not(:has(.game-tabs)) h2,
body:not(:has(.game-tabs)) h3,
body:not(:has(.game-tabs)) h4 { color: #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .section { color: #17142f !important; background: #fff8e9 !important; }
body:not(:has(.game-tabs)) .section-alt { background: #dff7ff !important; border-block: 2px solid #17142f !important; }
body:not(:has(.game-tabs)) .bg-deep,
body:not(:has(.game-tabs)) .bg-navy,
body:not(:has(.game-tabs)) .bg-grad-pink,
body:not(:has(.game-tabs)) .bg-grad-cyan,
body:not(:has(.game-tabs)) .bg-grad-green { background: #fff8e9 !important; color: #17142f !important; }
/* Some earlier pages use their own dark section names. Keep the bright Scottie
   treatment and the readable dark type together so no section becomes ink on ink. */
body:not(:has(.game-tabs)) .bg-music {
  background: linear-gradient(135deg, #dff7ff 0%, #fff8e9 54%, #dfffdc 100%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) .bg-thesis {
  background: linear-gradient(135deg, #eee7ff 0%, #fff8e9 62%, #dff7ff 100%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) .bg-about {
  background: linear-gradient(135deg, #fff0c4 0%, #fff8e9 58%, #ffe2f2 100%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) .bg-paths,
body:not(:has(.game-tabs)) .bg-stripe {
  background: linear-gradient(135deg, #ffe2f2 0%, #fff8e9 55%, #eee7ff 100%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) .bg-ig-showcase {
  background: linear-gradient(135deg, #ffe9d6 0%, #fff8e9 55%, #ffe2f2 100%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) .section-title { color: #17142f !important; }
body:not(:has(.game-tabs)) .section-script { color: #c30d71 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .section-eyebrow { display: inline-block; padding: 8px 11px; border: 2px solid #17142f; border-radius: 999px; color: #17142f !important; background: #38ff3d; box-shadow: 3px 4px 0 #17142f; }
body:not(:has(.game-tabs)) .section-eyebrow.pink { background: #ff21a8; color: #17142f !important; }

body:not(:has(.game-tabs)) .card,
body:not(:has(.game-tabs)) .scottie-card,
body:not(:has(.game-tabs)) .stat-card,
body:not(:has(.game-tabs)) .neighbourhood-card,
body:not(:has(.game-tabs)) .hood-card,
body:not(:has(.game-tabs)) .info-card,
body:not(:has(.game-tabs)) .step-card,
body:not(:has(.game-tabs)) .value-card,
body:not(:has(.game-tabs)) .press-card,
body:not(:has(.game-tabs)) .process-step,
body:not(:has(.game-tabs)) .vs-card,
body:not(:has(.game-tabs)) .form-card,
body:not(:has(.game-tabs)) .result-card,
body:not(:has(.game-tabs)) .calc-card,
body:not(:has(.game-tabs)) .scenario-card {
  border: 2px solid #17142f !important;
  border-radius: 18px !important;
  background: white !important;
  color: #17142f !important;
  box-shadow: 6px 7px 0 #25d6ff !important;
  backdrop-filter: none !important;
}
body:not(:has(.game-tabs)) .card:nth-child(3n+2),
body:not(:has(.game-tabs)) .step-card:nth-child(3n+2),
body:not(:has(.game-tabs)) .info-card:nth-child(3n+2) { box-shadow: 6px 7px 0 #ff21a8 !important; }
body:not(:has(.game-tabs)) .card:nth-child(3n),
body:not(:has(.game-tabs)) .step-card:nth-child(3n),
body:not(:has(.game-tabs)) .info-card:nth-child(3n) { box-shadow: 6px 7px 0 #38ff3d !important; }
body:not(:has(.game-tabs)) .card:hover,
body:not(:has(.game-tabs)) .step-card:hover,
body:not(:has(.game-tabs)) .hood-card:hover { transform: translate(-2px,-4px) rotate(-.3deg) !important; box-shadow: 9px 11px 0 #ff21a8 !important; }

body:not(:has(.game-tabs)) .toc,
body:not(:has(.game-tabs)) .callout,
body:not(:has(.game-tabs)) .resource-box,
body:not(:has(.game-tabs)) .quick-nav,
body:not(:has(.game-tabs)) .faq-item,
body:not(:has(.game-tabs)) details {
  border: 2px solid #17142f !important;
  border-radius: 15px !important;
  background: white !important;
  color: #17142f !important;
  box-shadow: 4px 5px 0 #25d6ff !important;
}
body:not(:has(.game-tabs)) details > summary,
body:not(:has(.game-tabs)) details > summary * {
  color: #17142f !important;
  -webkit-text-fill-color: #17142f !important;
  text-shadow: none !important;
}
body:not(:has(.game-tabs)) details > summary {
  min-height: 28px;
  font-weight: 850 !important;
}
body:not(:has(.game-tabs)) details[open] > summary {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(23, 20, 47, .18);
}
body:not(:has(.game-tabs)) details > :not(summary),
body:not(:has(.game-tabs)) details > :not(summary) * {
  color: #423c51 !important;
  -webkit-text-fill-color: #423c51 !important;
  text-shadow: none !important;
}
body:not(:has(.game-tabs)) details a,
body:not(:has(.game-tabs)) details a * {
  color: #9c0a5d !important;
  -webkit-text-fill-color: #9c0a5d !important;
  text-decoration-thickness: 2px;
}
body:not(:has(.game-tabs)) .callout.green { background: #caffc1 !important; box-shadow: 4px 5px 0 #38ff3d !important; }
body:not(:has(.game-tabs)) .callout.pink { background: #ffe2f2 !important; box-shadow: 4px 5px 0 #ff21a8 !important; }
body:not(:has(.game-tabs)) .toc a,
body:not(:has(.game-tabs)) .prose a,
body:not(:has(.game-tabs)) .text-link { color: #b80b69 !important; text-shadow: none !important; font-weight: 850 !important; }

body:not(:has(.game-tabs)) .hpi-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; margin: 10px 0 24px; border-radius: 14px; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
body:not(:has(.game-tabs)) .hpi-table-scroll:focus-visible { outline: 4px solid #17142f; outline-offset: 4px; }
body:not(:has(.game-tabs)) .hpi-table-scroll .hpi-table { min-width: 640px; margin: 0 !important; }
body:not(:has(.game-tabs)) table { width: 100%; overflow: hidden; border: 2px solid #17142f !important; border-collapse: separate !important; border-spacing: 0 !important; border-radius: 14px; background: white !important; box-shadow: 5px 6px 0 #38ff3d; color: #17142f !important; }
body:not(:has(.game-tabs)) th { background: #17142f !important; color: white !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) td { border-color: rgba(23,20,47,.18) !important; color: #423c51 !important; background: white !important; }
body:not(:has(.game-tabs)) .hpi-table td strong { color: #17142f !important; -webkit-text-fill-color: #17142f !important; }
body:not(:has(.game-tabs)) .art-meta,
body:not(:has(.game-tabs)) .relworx { color: #544d62 !important; -webkit-text-fill-color: #544d62 !important; }
body:not(:has(.game-tabs)) .relworx a { color: #006f80 !important; -webkit-text-fill-color: #006f80 !important; }
body:not(:has(.game-tabs)) .scottie-says .lbl,
body:not(:has(.game-tabs)) .scottie-take-eyebrow { color: #8b0f58 !important; -webkit-text-fill-color: #8b0f58 !important; }

form[id^="seller-lead-"], form[id^="seller-lead-"] * { min-width: 0; box-sizing: border-box; }
form[id^="seller-lead-"] input:not([type="checkbox"]):not([type="hidden"]),
form[id^="seller-lead-"] select,
form[id^="seller-lead-"] textarea,
form[id^="seller-lead-"] button { width: 100%; max-width: 100%; }
.seller-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lead-compact-field { display: grid; gap: 6px; min-width: 0; }
.lead-compact-field > label {
  color: #17142f;
  font: 750 13px/1.35 'Outfit', sans-serif;
}
.lead-compact-field > :is(input, select, textarea) { width: 100%; min-width: 0; }
.breakdown-photo-fieldset {
  min-width: 0;
  margin: 2px 0;
  padding: 16px;
  border: 2px solid #17142f;
  border-radius: 12px;
  background: #fff8e9;
}
.breakdown-photo-fieldset legend { padding: 0 7px; color: #17142f; font-weight: 850; }
.breakdown-photo-fieldset > p { margin: 0 0 13px; color: #423c51; font-size: 13px; line-height: 1.5; }
@media (max-width: 600px) { .seller-contact-grid { grid-template-columns: minmax(0, 1fr); } }

body:not(:has(.game-tabs)) .form,
body:not(:has(.game-tabs)) .lead-form,
body:not(:has(.game-tabs)) .newsletter-modal-inner {
  border-color: #17142f !important;
  background: #dff7ff !important;
  color: #17142f !important;
  box-shadow: 8px 9px 0 #ff21a8 !important;
}
body:not(:has(.game-tabs)) input,
body:not(:has(.game-tabs)) select,
body:not(:has(.game-tabs)) textarea,
body:not(:has(.game-tabs)) .field input,
body:not(:has(.game-tabs)) .field select,
body:not(:has(.game-tabs)) input.money {
  border: 2px solid #17142f !important;
  border-radius: 9px !important;
  background: white !important;
  color: #17142f !important;
  box-shadow: none !important;
}
body:not(:has(.game-tabs)) input:focus,
body:not(:has(.game-tabs)) select:focus,
body:not(:has(.game-tabs)) textarea:focus { outline: 3px solid white !important; outline-offset: 2px !important; box-shadow: 0 0 0 6px #17142f !important; }

/* Multi-step buyer and evaluation forms now sit on pale blue cards. Every
   form state needs its own dark foreground instead of inheriting the old
   navy-card colours. */
body:not(:has(.game-tabs)) .lead-step-title { color: #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .lead-step-title .accent {
  background: none !important;
  color: #9c0a5d !important;
  -webkit-text-fill-color: #9c0a5d !important;
}
body:not(:has(.game-tabs)) .lead-step-sub,
body:not(:has(.game-tabs)) .lead-progress-text { color: #006f80 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .lead-field input::placeholder,
body:not(:has(.game-tabs)) .lead-field textarea::placeholder { color: #6c6578 !important; opacity: 1 !important; }
body:not(:has(.game-tabs)) .field-helper,
body:not(:has(.game-tabs)) .lead-trust { color: #544d62 !important; }
body:not(:has(.game-tabs)) .field-error { color: #a50852 !important; font-weight: 650 !important; }
body:not(:has(.game-tabs)) .field-error-generated {
  min-height: 0;
  margin: -7px 2px 2px;
  font-size: 12px;
  line-height: 1.35;
}
body:not(:has(.game-tabs)) .field-error-generated:empty { display: none; }

.content-review-notice {
  width: min(1180px, calc(100% - 28px));
  margin: 96px auto 4px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px 20px;
  align-items: center;
  border: 2px solid #17142f;
  border-radius: 14px;
  background: #ffe800;
  color: #17142f;
  box-shadow: 5px 6px 0 #ff2d95;
  font-family: 'Outfit', Arial, sans-serif;
  line-height: 1.45;
}
.content-review-notice strong { font-family: 'Bungee', Arial, sans-serif; font-size: 12px; letter-spacing: .06em; }
.content-review-notice span { font-weight: 700; }
.content-review-notice a { color: #17142f; font-weight: 900; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

@media (max-width: 760px) {
  .content-review-notice { grid-template-columns: 1fr; gap: 8px; padding: 15px; }
}
body:not(:has(.game-tabs)) :is(input, select, textarea).invalid {
  border-color: #a50852 !important;
  box-shadow: 0 0 0 3px rgba(165, 8, 82, .15) !important;
}
body:not(:has(.game-tabs)) .lead-pill label {
  background: white !important;
  border-color: #006f80 !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) .lead-pill input:checked + label {
  background: #ffe2f2 !important;
  border-color: #9c0a5d !important;
  color: #17142f !important;
  box-shadow: 0 0 0 3px rgba(156,10,93,.2) !important;
}
body:not(:has(.game-tabs)) .lead-pill .pill-sub { color: #544d62 !important; }
body:not(:has(.game-tabs)) .lead-summary {
  background: white !important;
  border-color: #9c0a5d !important;
  color: #423c51 !important;
}
body:not(:has(.game-tabs)) .lead-summary strong { color: #006f80 !important; }
body:not(:has(.game-tabs)) .lead-nav .btn-back {
  border-color: #17142f !important;
  color: #17142f !important;
}

body:not(:has(.game-tabs)) .badge,
body:not(:has(.game-tabs)) .section-label { color: #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .badge { border: 2px solid #17142f !important; background: #38ff3d !important; box-shadow: 3px 4px 0 #17142f !important; }
body:not(:has(.game-tabs)) .tabs { gap: 10px !important; }
body:not(:has(.game-tabs)) .tab { border: 2px solid #17142f !important; background: white !important; color: #17142f !important; box-shadow: 3px 4px 0 #17142f !important; }
body:not(:has(.game-tabs)) .tab.active { background: #ff21a8 !important; color: #17142f !important; box-shadow: 3px 4px 0 #17142f !important; }
body:not(:has(.game-tabs)) .header h1 {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #17142f !important;
  color: #17142f !important;
  filter: none !important;
}
body:not(:has(.game-tabs)) .header .script,
body:not(:has(.game-tabs)) .script { color: #c30d71 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .grid-l,
body:not(:has(.game-tabs)) .grid-r { opacity: .08 !important; filter: hue-rotate(90deg) saturate(1.7); }

/* Music needs its own emphasis panel. Cyan on a light background is pretty but
   too faint for a full quote, so use a deep teal with a white paper surface. */
body:not(:has(.game-tabs)) .music-quote {
  padding: 20px 22px;
  border: 2px solid #17142f;
  border-radius: 12px;
  background: white;
  color: #006f80 !important;
  font-family: 'Caveat', cursive;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.5;
  box-shadow: 4px 5px 0 #25d6ff;
  text-shadow: none !important;
}

/* Contrast repairs for light editorial pages. The neon stays on the surface while the words stay dark. */
body:not(:has(.game-tabs)) .hero p,
body:not(:has(.game-tabs)) .hero li,
body:not(:has(.game-tabs)) .hero label,
body:not(:has(.game-tabs)) .hero-short p,
body:not(:has(.game-tabs)) .hero-short li,
body:not(:has(.game-tabs)) .hero-short label { color: #17142f !important; }

body:not(:has(.game-tabs)) .footer p,
body:not(:has(.game-tabs)) .footer li,
body:not(:has(.game-tabs)) .footer label,
body:not(:has(.game-tabs)) .footer .section-lead,
body:not(:has(.game-tabs)) .footer .prose { color: #d7d1e8 !important; }
body:not(:has(.game-tabs)) .footer h1,
body:not(:has(.game-tabs)) .footer h2,
body:not(:has(.game-tabs)) .footer h3 { color: white !important; }
body:not(:has(.game-tabs)) .footer h4 { color: #25d6ff !important; }
body:not(:has(.game-tabs)) .footer-bottom,
body:not(:has(.game-tabs)) .footer-bottom :is(div, span, p, a, .disclaimer) {
  color: #c9d8ff !important;
}

body:not(:has(.game-tabs)) .aeo-panel { background: white !important; border-color: #006f80 !important; color: #17142f !important; box-shadow: 5px 6px 0 #25d6ff !important; }
body:not(:has(.game-tabs)) .aeo-panel .q { color: #006f80 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .aeo-panel .a { color: #423c51 !important; }
body:not(:has(.game-tabs)) .aeo-panel .a strong { color: #17142f !important; }
body:not(:has(.game-tabs)) .chip.pink { color: #b80b69 !important; border-color: #b80b69 !important; }
body:not(:has(.game-tabs)) .chip.cyan { color: #006f80 !important; border-color: #006f80 !important; }
body:not(:has(.game-tabs)) .chip.lime { color: #137328 !important; border-color: #137328 !important; }
body:not(:has(.game-tabs)) .chip.yellow { color: #6b5d00 !important; border-color: #6b5d00 !important; }
body:not(:has(.game-tabs)) .chip.grape { color: #6940b8 !important; border-color: #6940b8 !important; }
body:not(:has(.game-tabs)) .vs-mid { color: #006f80 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .vs-col.cold .vs-num { color: #423c51 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .bright-card a { color: #6940b8 !important; }

body:not(:has(.game-tabs)) .stat-card-label { color: #006f80 !important; font-size: 11px !important; }
body:not(:has(.game-tabs)) .stat-card-change.up { color: #137328 !important; }
body:not(:has(.game-tabs)) .stat-card-change.down { color: #b80b69 !important; }
body:not(:has(.game-tabs)) .stat-card-sub { color: #544d62 !important; }

/* Market reports now sit on cream paper. Give every monthly data card its own
   solid surface and AA-readable ink while keeping neon in the border accents. */
body:not(:has(.game-tabs)) .month-card {
  border: 2px solid #17142f !important;
  background: white !important;
  color: #17142f !important;
  box-shadow: 5px 6px 0 #25d6ff !important;
}
body:not(:has(.game-tabs)) .month-card:nth-child(3n+2) { box-shadow: 5px 6px 0 #ff21a8 !important; }
body:not(:has(.game-tabs)) .month-card:nth-child(3n) { box-shadow: 5px 6px 0 #38ff3d !important; }
body:not(:has(.game-tabs)) .month-card:hover { box-shadow: 8px 10px 0 #ff21a8 !important; }
body:not(:has(.game-tabs)) .month-card-month { color: #9c0a5d !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .month-card-title { color: #17142f !important; }
body:not(:has(.game-tabs)) .month-card-stat { color: #423c51 !important; }
body:not(:has(.game-tabs)) .month-card-stat strong { color: #006f80 !important; }
body:not(:has(.game-tabs)) .month-card a {
  color: #8b0f58 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}
body:not(:has(.game-tabs)) .month-card a:hover,
body:not(:has(.game-tabs)) .month-card a:focus-visible { color: #006f80 !important; }
body:not(:has(.game-tabs)) .month-card a:focus-visible {
  outline: 3px solid #17142f !important;
  outline-offset: 4px !important;
  border-radius: 3px;
}

body:not(:has(.game-tabs)) .prose strong,
body:not(:has(.game-tabs)) .callout b,
body:not(:has(.game-tabs)) .faq-q { color: #17142f !important; }
body:not(:has(.game-tabs)) .scottie-says { background: #ffe8f4 !important; color: #17142f !important; border-color: #b80b69 !important; }
body:not(:has(.game-tabs)) .faq-a { color: #423c51 !important; }
body:not(:has(.game-tabs)) .blog-card { background: white !important; border: 2px solid #17142f !important; box-shadow: 4px 5px 0 #25d6ff !important; }
body:not(:has(.game-tabs)) .blog-card h3 { color: #17142f !important; }
body:not(:has(.game-tabs)) .blog-card p { color: #423c51 !important; }
body:not(:has(.game-tabs)) .blog-card .tag { color: #b80b69 !important; }
body:not(:has(.game-tabs)) .art-meta a { color: #006f80 !important; }

/* Inline colours on old pages were designed for a navy background. These
   sections are now bright, so force inherited copy and links to remain legible. */
body:not(:has(.game-tabs)) :is(.bg-music, .bg-thesis, .bg-about, .bg-paths, .bg-stripe, .bg-ig-showcase) [style*="color"] {
  color: #423c51 !important;
  -webkit-text-fill-color: #423c51 !important;
  text-shadow: none !important;
}
body:not(:has(.game-tabs)) :is(.bg-music, .bg-thesis, .bg-about, .bg-paths, .bg-stripe, .bg-ig-showcase) a {
  color: #9c0a5d !important;
  -webkit-text-fill-color: #9c0a5d !important;
  font-weight: 850 !important;
}
body:not(:has(.game-tabs)) :is(.bg-music, .bg-thesis, .bg-about, .bg-paths, .bg-stripe, .bg-ig-showcase) :is(h1, h2, h3, h4, .section-title, .section-title span) {
  color: #17142f !important;
  -webkit-text-fill-color: #17142f !important;
}
body:not(:has(.game-tabs)) section p strong { color: #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .faq-hero p strong { color: #8b0f58 !important; }
body:not(:has(.game-tabs)) .bg-deep a:not(.btn) { color: #8b0f58 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .ig-banner-text,
body:not(:has(.game-tabs)) .ig-handle {
  padding: 10px 16px;
  border: 2px solid white;
  border-radius: 999px;
  background: #17142f !important;
  color: white !important;
  text-shadow: none !important;
}

body:not(:has(.game-tabs)) .fmh-eyebrow,
body:not(:has(.game-tabs)) .fmh-script,
body:not(:has(.game-tabs)) .fmh-videos-sub,
body:not(:has(.game-tabs)) .fmh-form-sub { color: #006f80 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .fmh-sub,
body:not(:has(.game-tabs)) .fmh-sub strong,
body:not(:has(.game-tabs)) .fmh-videos-title,
body:not(:has(.game-tabs)) .fmh-why-title,
body:not(:has(.game-tabs)) .fmh-form-title { color: #17142f !important; }
body:not(:has(.game-tabs)) .fmh-reason,
body:not(:has(.game-tabs)) .fmh-form,
body:not(:has(.game-tabs)) .fmh-video-box { background: white !important; color: #17142f !important; border-color: #17142f !important; box-shadow: 5px 6px 0 #25d6ff !important; }
body:not(:has(.game-tabs)) .fmh-reason h3,
body:not(:has(.game-tabs)) .fmh-reason p,
body:not(:has(.game-tabs)) .fmh-reason p strong { color: #17142f !important; }
body:not(:has(.game-tabs)) .fmh-proof-label,
body:not(:has(.game-tabs)) .fmh-form-disclaimer,
body:not(:has(.game-tabs)) .fmh-footer-meta { color: #544d62 !important; }
body:not(:has(.game-tabs)) .fmh-field label,
body:not(:has(.game-tabs)) .fmh-row > div > label,
body:not(:has(.game-tabs)) .fmh-footer-contact a { color: #006f80 !important; border-color: #006f80 !important; }
body:not(:has(.game-tabs)) .fmh-btn-primary,
body:not(:has(.game-tabs)) .fmh-submit { background: #ff21a8 !important; color: #17142f !important; border: 2px solid #17142f !important; box-shadow: 4px 5px 0 #17142f !important; }
body:not(:has(.game-tabs)) .fmh-btn-ghost { color: #006f80 !important; border-color: #006f80 !important; }
body:not(:has(.game-tabs)) .fmh-footer-meta a,
body:not(:has(.game-tabs)) .fmh-error-msg { color: #b80b69 !important; }

body:not(:has(.game-tabs)) .calc-btn,
body:not(:has(.game-tabs)) .cta-btn,
body:not(:has(.game-tabs)) .btn-gold,
body:not(:has(.game-tabs)) .reset-btn { background: #17142f !important; color: white !important; border: 2px solid #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .type-btn.selected { color: #17142f !important; text-shadow: none !important; }

/* Game controls sit on moving art, so they get a dependable ink or outlined foreground. */
body:has(.game-tabs) .game-tab.active,
body:has(.game-tabs) .btn-army,
body:has(.game-tabs) .btn-quest,
body:has(.game-tabs) .btn-play,
body:has(.game-tabs) .btn-play-clip,
body:has(.game-tabs) .btn-next { color: #17142f !important; text-shadow: none !important; }
body:has(.game-tabs) .icon-btn { background: rgba(23,20,47,.94) !important; color: white !important; border-color: white !important; }
body:has(.game-tabs) .hud-score { color: white !important; -webkit-text-fill-color: white !important; -webkit-text-stroke: 3px #17142f !important; paint-order: stroke fill !important; text-shadow: 0 2px 5px #17142f !important; }

@media (max-width: 720px) {
  body:not(:has(.game-tabs)) .section { padding-inline: 15px !important; }
  body:not(:has(.game-tabs)) .toc,
  body:not(:has(.game-tabs)) .callout { box-shadow: 3px 4px 0 #25d6ff !important; }
}

/* Every older page now uses the same complete dropdown at every width. */
.legacy-menu-ready .nav .nav-toggle {
  display: flex !important;
  flex: 0 0 auto;
  border: 2px solid #17142f !important;
  border-radius: 9px;
  background: #38ff3d !important;
}
.legacy-menu-ready .nav .nav-links {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  width: min(620px, calc(100vw - 24px)) !important;
  max-height: calc(100vh - 92px) !important;
  padding: 12px !important;
  display: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  border: 2px solid #17142f !important;
  border-radius: 15px !important;
  background: #fff8e9 !important;
  box-shadow: 6px 7px 0 #17142f !important;
}
.legacy-menu-ready .nav .nav-links.open { display: grid !important; }
.legacy-menu-ready .nav .nav-links a {
  width: 100% !important;
  padding: 13px 14px !important;
  border: 0 !important;
  border-radius: 9px;
}
.legacy-menu-ready .nav .nav-links a:hover,
.legacy-menu-ready .nav .nav-links a[aria-current="page"] { background: #ff21a8 !important; color: #17142f !important; }

@media (max-width: 620px) {
  .legacy-menu-ready .nav .nav-links { grid-template-columns: 1fr; }
}

/* If JavaScript is unavailable, the original links stay visible instead of
   trapping visitors behind a button that cannot open. */
html:not(.legacy-menu-ready) .nav {
  height: auto !important;
  min-height: 70px;
  flex-wrap: wrap !important;
}
html:not(.legacy-menu-ready) .nav .nav-toggle { display: none !important; }
html:not(.legacy-menu-ready) .reveal { opacity: 1 !important; transform: none !important; }
html:not(.legacy-menu-ready) .nav .nav-links {
  position: static !important;
  display: grid !important;
  flex: 1 0 100%;
  width: 100% !important;
  max-height: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px !important;
  padding: 10px 0 2px !important;
  background: transparent !important;
  box-shadow: none !important;
}
html:not(.legacy-menu-ready) .nav .nav-links a {
  display: block !important;
  padding: 10px !important;
  color: #17142f !important;
}
@media (max-width: 620px) {
  html:not(.legacy-menu-ready) .nav .nav-links { grid-template-columns: 1fr; }
}

/* Three obvious paths stay visible even when the complete menu is closed. */
.nav .legacy-direct-paths {
  margin-left: auto;
  display: flex !important;
  align-items: center;
  gap: 6px;
  position: static !important;
}
.nav .legacy-direct-paths a {
  min-width: 70px;
  padding: 10px 12px;
  border: 2px solid #17142f;
  border-radius: 9px;
  color: #17142f !important;
  background: #ff21a8;
  box-shadow: 3px 4px 0 #17142f;
  font-family: 'Bungee', sans-serif;
  font-size: 9px;
  letter-spacing: .08em;
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease;
}
.nav .legacy-direct-paths a:nth-child(2) { background: #25d6ff; }
.nav .legacy-direct-paths a:nth-child(3) { background: #38ff3d; }
.nav .legacy-direct-paths a:hover { transform: translateY(-2px); box-shadow: 4px 6px 0 #17142f; }

/* Final contrast guardrails for page-specific dark heroes and older inline styles. */
body:not(:has(.game-tabs)) :is(.market-hero, .post-hero, .faq-hero) {
  background: linear-gradient(135deg, #25d6ff 0%, #fff8e9 52%, #38ff3d 100%) !important;
  color: #17142f !important;
}
body:not(:has(.game-tabs)) :is(.market-hero, .post-hero, .faq-hero) :is(p, li, label, h1, h2, h3, h4, .section-lead, .post-sub) {
  color: #17142f !important;
  -webkit-text-fill-color: #17142f !important;
  text-shadow: none !important;
}
body:not(:has(.game-tabs)) .faq-category { color: #006f80 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .press-card-name { color: #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .press-card-desc { color: #423c51 !important; }
body:not(:has(.game-tabs)) .fmh-video-label { color: #17142f !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) .fmh-video-sublabel { color: #006f80 !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) a.btn.btn-primary,
body:not(:has(.game-tabs)) button.btn.btn-primary,
body:not(:has(.game-tabs)) :is(.bright-card, .section, .bg-music, .bg-thesis, .bg-about, .bg-paths, .bg-stripe, .bg-ig-showcase) a.btn-primary {
  color: white !important;
  -webkit-text-fill-color: white !important;
  background: #17142f !important;
  text-shadow: none !important;
}
body:not(:has(.game-tabs)) a.btn.btn-ghost,
body:not(:has(.game-tabs)) button.btn.btn-ghost {
  color: #17142f !important;
  -webkit-text-fill-color: #17142f !important;
  background: white !important;
}

/* Form consent and privacy notices stay readable across every legacy page. */
body:not(:has(.game-tabs)) .lead-privacy-notice {
  margin: 6px 0 14px;
  padding: 14px 16px;
  border: 2px solid #17142f;
  border-radius: 12px;
  background: #fff8e9;
  color: #17142f !important;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  text-align: left;
}
body:not(:has(.game-tabs)) .lead-privacy-notice p { margin: 0; color: #17142f !important; }
body:not(:has(.game-tabs)) .lead-privacy-notice label { display: flex; gap: 10px; align-items: flex-start; color: #17142f !important; }
body:not(:has(.game-tabs)) .lead-privacy-notice label + p { margin-top: 9px; }
body:not(:has(.game-tabs)) .lead-privacy-notice input[type='checkbox'] { width: 20px; height: 20px; margin: 1px 0 0; flex: 0 0 auto; accent-color: #ff21a8; }
body:not(:has(.game-tabs)) .lead-privacy-notice a { color: #006f80 !important; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }

/* Final fixes for page-level inline colours that previously disappeared. */
body:not(:has(.game-tabs)) .bg-deep p strong { color: #17142f !important; -webkit-text-fill-color: #17142f !important; }
body:not(:has(.game-tabs)) .lead-field label em { color: #3f3949 !important; font-weight: 700 !important; }
body:not(:has(.game-tabs)) .lead-summary + .lead-nav { margin-top: 12px; }

@media (max-width: 720px) {
  .nav .legacy-direct-paths { gap: 4px; }
  .nav .legacy-direct-paths a { min-width: 48px; padding: 9px 7px; font-size: 8px; box-shadow: 2px 3px 0 #17142f; }
  .nav > a.btn { display: none !important; }
}
@media (max-width: 430px) {
  .nav .nav-brand { width: 86px !important; }
  .nav .legacy-direct-paths a { min-width: 42px; padding-inline: 5px; font-size: 9px; }
}

/* V2 editorial bridge. Existing calculators, forms, article text and games remain intact. */
body:not(:has(.game-tabs)) { background: #f7f9ff !important; background-image: none !important; }
body:not(:has(.game-tabs))::before { display: none !important; }
body:not(:has(.game-tabs)) :is(h1,h2,h3,h4,.section-title) { font-family: 'Outfit', sans-serif !important; font-weight: 850 !important; letter-spacing: -.045em !important; }
body:not(:has(.game-tabs)) :is(.section,.bg-deep,.bg-navy,.bg-grad-pink,.bg-grad-cyan,.bg-grad-green) { background: #f7f9ff !important; }
body:not(:has(.game-tabs)) .section-alt { background: #e7faff !important; border: 0 !important; }
.nav { top: 0 !important; left: 0 !important; right: 0 !important; border: 0 !important; border-bottom: 1px solid #42445b !important; border-radius: 0 !important; background: #1a1a2e !important; box-shadow: none !important; padding: 16px 4.5% !important; }
.nav .nav-brand { width: 165px !important; height: 57px !important; }
.nav-brand::before { background-image: url('/brand/scottie-logo.webp'); }
.nav-toggle span { background: white !important; }
.nav-links { background: #1a1a2e !important; }
.nav-links a { color: white !important; font-family: 'Outfit', sans-serif !important; letter-spacing: .02em !important; font-weight: 600 !important; }
.nav-links a:hover, .nav-links a.active { color: #00d9ff !important; }
.nav .legacy-direct-paths a { border-radius: 0 !important; box-shadow: none !important; border-width: 1px !important; }
.nav .btn { color: white !important; background: transparent !important; border: 1px solid #85859b !important; border-radius: 0 !important; box-shadow: none !important; }
body:not(:has(.game-tabs)) :is(.hero,.hero-short) { width: 100% !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #1a1a2e !important; color: white !important; }
body:not(:has(.game-tabs)) :is(.hero,.hero-short)::before { display: none !important; }
body:not(:has(.game-tabs)) .hero-bg { opacity: .1 !important; }
body:not(:has(.game-tabs)) :is(.hero h1,.hero-short h1) { color: white !important; -webkit-text-fill-color: white !important; font-size: clamp(48px, 7vw, 105px) !important; line-height: .95 !important; }
body:not(:has(.game-tabs)) :is(.hero h1,.hero-short h1) :is(.accent,.period,em) { color: #00d9ff !important; -webkit-text-fill-color: #00d9ff !important; text-shadow: none !important; }
body:not(:has(.game-tabs)) :is(.hero,.hero-short) :is(p,li,.hero-sub,.hero-sub strong,.hero-sub em) { color: #dfe3f5 !important; -webkit-text-fill-color: #dfe3f5 !important; }
body:not(:has(.game-tabs)) :is(.hero-eyebrow,.section-eyebrow) { font-family: 'Outfit', sans-serif !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-weight: 700 !important; }
body:not(:has(.game-tabs)) .hero-script { color: #ffe800 !important; }
body:not(:has(.game-tabs)) .btn { border-radius: 0 !important; box-shadow: none !important; font-family: 'Outfit',sans-serif !important; letter-spacing: .01em !important; border-width: 1px !important; }
body:not(:has(.game-tabs)) .btn:hover { transform: translateY(-2px) !important; box-shadow: none !important; }
body:not(:has(.game-tabs)) :is(.card,.scottie-card,.stat-card,.neighbourhood-card,.hood-card,.info-card,.step-card,.value-card,.press-card,.process-step,.vs-card,.form-card,.result-card,.calc-card,.scenario-card,.form,.lead-form,.newsletter-modal-inner) { border-radius: 0 !important; box-shadow: none !important; border-width: 1px !important; }
body:not(:has(.game-tabs)) :is(.card,.scottie-card,.neighbourhood-card,.hood-card,.step-card,.value-card):hover { transform: translateY(-3px) !important; box-shadow: 0 7px 18px #1a1a2e12 !important; }
body:not(:has(.game-tabs)) .section-title { font-size: clamp(35px, 4.8vw, 69px) !important; line-height: 1.03 !important; }
.footer { margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: #111122 !important; }
.footer::before { height: 3px !important; background: #00d9ff !important; }
body:not(:has(.game-tabs)) .footer :is(p,li,h2,h3,h4) { color: #dfe3f5 !important; }
@media (max-width: 760px) {
  .nav { padding: 10px 20px !important; }
  .nav .nav-brand { width: 105px !important; height: 48px !important; }
  .nav-links { border-radius: 0 !important; box-shadow: none !important; border-color: #42445b !important; }
  body:not(:has(.game-tabs)) .hero-short { min-height: 490px !important; padding: 125px 22px 45px !important; }
  body:not(:has(.game-tabs)) :is(.hero h1,.hero-short h1) { font-size: clamp(46px, 11.6vw, 70px) !important; }
}
