/* ==========================================================
   uSpark light-theme fixes (v1.0.22)
   Loaded last on every page. Only touches [data-theme="light"].
   ========================================================== */

/* ---- 1. Gold used as TEXT on light surfaces: darker so it is readable ---- */
[data-theme="light"] {
  --k-goldt: #8a5700; --k-goldt-rgb: 138,87,0;
  --gold-t: #8a5700; --ft-gold-t: #8a5700;
}
[data-theme="light"] .tag,
[data-theme="light"] .more,
[data-theme="light"] .pshow-res,
[data-theme="light"] #pj .tag,
[data-theme="light"] #pj .ptype,
[data-theme="light"] #sv .ptype,
[data-theme="light"] .ft-cta__tag,
[data-theme="light"] .sp-ptype,
[data-theme="light"] .rc-txt small,
[data-theme="light"] #contact.rc .rc-txt small { color: #8a5700; }
[data-theme="light"] .ft-cta__tag { background: rgba(var(--k-gold-rgb),.2); border-color: rgba(138,87,0,.35); }
[data-theme="light"] .ab-eyebrow,
[data-theme="light"] .wk-eyebrow,
[data-theme="light"] .ab-more,
[data-theme="light"] .bl-more,
[data-theme="light"] .sp-more,
[data-theme="light"] .sp-role,
[data-theme="light"] .sp-pn-c small,
[data-theme="light"] .bl-sbx h4,
[data-theme="light"] .bl-cnt b,
[data-theme="light"] .sp-tag { color: #8a5700; }
[data-theme="light"] .ab-steps span { color: #8a5700; }

/* ---- 2. Text that was light-on-light ---- */
[data-theme="light"] #pj .proj { color: rgba(11,23,48,.62); }
[data-theme="light"] .wk-cv .wk-bn { -webkit-text-stroke-color: rgba(11,23,48,.22); }
[data-theme="light"] #contact.rc label b { color: #c4302b; }
/* white text on the blue call-to-action panels: full white, not 85% white */
[data-theme="light"] .cta-box p,
[data-theme="light"] .us-ctaband p,
[data-theme="light"] .sp-sx-cta p,
[data-theme="light"] .tone-blue .sec-s,
[data-theme="light"] .tone-blue .card p { color: #fff; }
[data-theme="light"] .cta-box,
[data-theme="light"] .bl-cbox,
[data-theme="light"] .ab-cbox,
[data-theme="light"] .us-ctaband { --k-blue2: #1f6fe0; }
[data-theme="light"] .ab-cpill, [data-theme="light"] .bl-cpill, [data-theme="light"] .sp-pill.on-blue { background: rgba(255,255,255,.22); }

/* ---- 3. Page loader follows the theme ---- */
.lg-ld-l { display: none; }
[data-theme="light"] .lg-ld-d { display: none; }
[data-theme="light"] .lg-ld-l { display: block; }
[data-theme="light"] #loader { color: var(--k-navy); }
[data-theme="light"] #loader .b-strips i { background: linear-gradient(180deg, #f4f8ff, #e3edff); }
[data-theme="light"] #loader .spot { background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 50%), rgba(var(--k-blue-rgb),.16), transparent 60%); }
[data-theme="light"] #loader .b-ghost { -webkit-text-stroke-color: rgba(11,23,48,.10); }
[data-theme="light"] #loader .b-ghost.fill { background-image: linear-gradient(100deg, var(--k-blue2), var(--k-blue)); opacity: .28; }
[data-theme="light"] #loader .b-top img { filter: drop-shadow(0 0 14px rgba(var(--k-blue-rgb),.25)); }
[data-theme="light"] #loader .b-top span { color: #3b4d7a; }
[data-theme="light"] #loader .b-words { color: var(--k-navy); }
[data-theme="light"] #loader .b-words em { color: var(--k-gold4); text-shadow: none; }
[data-theme="light"] #loader .b-sub { color: #3b4d7a; }
[data-theme="light"] #loader .b-sub i { background: var(--k-gold4); box-shadow: 0 0 10px rgba(var(--k-gold-rgb),.7); }
[data-theme="light"] #loader .b-num { background-image: linear-gradient(180deg, var(--k-navy) 15%, var(--k-gold4) 95%); filter: none; }
[data-theme="light"] #loader .b-num i { -webkit-text-fill-color: var(--k-gold4); }
[data-theme="light"] #progress span { background: linear-gradient(90deg, var(--k-blue), var(--k-gold)); }

/* ---- 4. 404 page: it was always dark, now has a real light version ---- */
html[data-theme="light"] .nf-page {
  color-scheme: light; --bgrgb: 245,246,250; --fg: 11,23,48;
  --line: rgba(11,23,48,.12); --card: #fff; --solid: #fff; --gold: var(--k-gold); --gold-t: #8a5700;
}
[data-theme="light"] .nf-vig { background: radial-gradient(ellipse 70% 60% at 50% 50%, transparent 45%, rgba(var(--bgrgb),.9) 100%); }
[data-theme="light"] .nf-bc { background: rgba(255,255,255,.85); box-shadow: 0 10px 30px -14px rgba(13,60,140,.3); }
[data-theme="light"] .nf-page h1 { filter: drop-shadow(0 6px 22px rgba(var(--k-blue-rgb),.18)); }
[data-theme="light"] .nf-page h1 .nf-w > i { background-image: linear-gradient(100deg, var(--k-navy), var(--k-blue3) 60%, var(--k-gold4)); }
[data-theme="light"] .nf-page h1 .nf-w.nf-g > i { background-image: linear-gradient(100deg, var(--k-blue3), var(--k-blue) 45%, var(--k-gold4)); }
[data-theme="light"] .nf-fb { background-image: linear-gradient(100deg, var(--k-blue3), var(--k-blue) 45%, var(--k-gold4)); }
[data-theme="light"] .nf-gs { box-shadow: 0 18px 30px -16px rgba(13,60,140,.35); }
[data-theme="light"] .nf-chip b { color: var(--k-blue3); }
[data-theme="light"] .nf-chip em { color: #8a5700; }
[data-theme="light"] .nf-btn:hover { color: var(--k-blue3); border-color: var(--k-blue); }
[data-theme="light"] .nf-ring { border-color: rgba(var(--k-blue-rgb),.35); }
[data-theme="light"] .nf-ring.nf-r2 { border-color: rgba(var(--k-gold-rgb),.5); }

/* ---- 5. Pills / small labels: blue text was too pale on light-blue tint ---- */
html[data-theme="light"] .pill:not(.tone-blue .pill, .tone-mesh .pill, .cta-box .pill, .sol-band .pill, .lg-cta .pill, .bl-cbox .pill, .ab-cbox .pill, .wk-cbox .pill),
html[data-theme="light"] #sv .pill:not(.tone-blue .pill, .cta-box .pill, .sol-band .pill),
html[data-theme="light"] .sp-pill:not(.us-ctaband .sp-pill) { color: var(--k-blue3); }
html[data-theme="light"] #sv .cta-box p,
html[data-theme="light"] #sv .sol-band > p,
html[data-theme="light"] #sv .sol-band .sec-s,
html[data-theme="light"] #sv .sol2 .sec-head p,
html[data-theme="light"] .wk-cbox p,
html[data-theme="light"] .ab-cbox p,
html[data-theme="light"] .bl-cbox p,
html[data-theme="light"] .us-ctaband p { color: #fff; }
/* blue panels: slightly deeper blue so white text passes contrast */
[data-theme="light"] .tone-blue,
[data-theme="light"] .tone-mesh { --k-blue2: #1f6fe0; }
[data-theme="light"] .wk-b1,
[data-theme="light"] .wk-ic.wk-bl { background: linear-gradient(120deg, var(--k-blue3), var(--k-blue)); }
[data-theme="light"] .bl-nl input,
[data-theme="light"] .sp-nl input { background: rgba(255,255,255,.2); }
[data-theme="light"] .project-crumbs a, [data-theme="light"] .crumbs a, [data-theme="light"] .sp-crumbs a { color: #3b4d7a; }

/* ---- 6. Switches (cookie banner / cookies page): OFF track visible on light ---- */
[data-theme="light"] .ck-sw:not([aria-checked="true"]),
[data-theme="light"] .lg-sw { background: rgba(11,23,48,.3); }
[data-theme="light"] .lg-tbl tr:hover td { background: rgba(var(--k-blue-rgb),.05); }
[data-theme="light"] .ck-bar { box-shadow: 0 30px 70px -24px rgba(13,40,120,.35); }

/* ---- 7. Finishing touches ---- */
html[data-theme="light"] #contact.rc .rc-txt small { color: #8a5700; }
[data-theme="light"] .sp-ptype, [data-theme="light"] #sp-ptype { color: #6e4400; }
[data-theme="light"] .tone-blue { --card: rgba(255,255,255,.07); }
[data-theme="light"] .ab-cpill, [data-theme="light"] .bl-cpill, [data-theme="light"] .wk-cpill,
[data-theme="light"] .us-ctaband .sp-pill, [data-theme="light"] #sv .cta-box .pill, [data-theme="light"] #sv .sol-band .pill,
[data-theme="light"] .tone-blue .pill { background: rgba(255,255,255,.08); }
[data-theme="light"] .bl-nl input, [data-theme="light"] .sp-nl input, [data-theme="light"] #sp-nl input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.55); }
[data-theme="light"] .crumbs a, [data-theme="light"] #pj .crumbs a { color: #2f3f66; }

/* ---- 8. Gradient headings: no grey middle (blue to gold used to pass through grey) ---- */
html[data-theme="light"] .t-grad,
html[data-theme="light"] :where(.ab-page) .ab-g,
html[data-theme="light"] :where(.bl-page) .bl-g {
  background-image: linear-gradient(100deg, var(--k-blue3) 0%, var(--k-blue) 52%, #e08a00 78%, var(--k-gold4) 100%);
}

/* ---- 9. Contact section (home + Contact page): content starts at the top, no centred empty space above the robot ---- */
#contact.rc { min-height: 0; align-items: flex-start; padding-top: 72px; padding-bottom: 90px; }
.ct-page #contact.rc { padding-top: 8px; padding-bottom: 110px; }
#contact.rc .rc-right { --head: 300px; }
#contact.rc .rc-robot3d { top: -44px; }
@media (max-width: 980px) {
  #contact.rc { padding-top: 56px; }
  .ct-page #contact.rc { padding-top: 8px; }
  #contact.rc .rc-right { --head: 240px; }
}
@media (max-width: 560px) {
  #contact.rc { padding: 56px 16px 72px; }
  .ct-page #contact.rc { padding: 8px 16px 72px; }
  #contact.rc .rc-right { --head: 205px; }
}

/* ---- 10. Footer on phones / tablets (all themes) ---- */
.ft-grid > * { min-width: 0; }
.ft-link, .ft-contact a, .ft-contact span { overflow-wrap: anywhere; }
@media (max-width: 1000px) {
  .ft-grid.has-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-grid.has-svc .ft-brand,
  .ft-grid.has-svc > .ft-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .ft-grid, .ft-grid.has-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
  .ft-grid .ft-brand, .ft-grid > .ft-col:last-child { grid-column: 1 / -1; }
  /* "Book a consultation" button: normal pill, not a stretched oval */
  .ft-cta__act { min-width: 0; width: 100%; align-items: stretch; }
  .ft-cta__act > a, .ft-cta__act .ft-btn { flex: 0 0 auto; width: 100%; min-height: 0; height: auto; }
  .ft-cta--book { overflow: hidden; }
}
@media (max-width: 359px) {
  .ft-grid, .ft-grid.has-svc { grid-template-columns: minmax(0, 1fr); }
}
