/* HOME EN + ES — WebSourcy 1.5.0. Two pages only, never forms, checkout, legal, admin or consent UI.
   Canonical lime matches pre-existing WebSourcy 2.17 theme brand token: #A8FF37.
   Use near-black text on lime; bright lime on dark only (accessible). */
html body.page-id-28131,
html body.page-id-28217 {
  --ws-home-brand: #A8FF37;
  --ws-home-hover: #CBFF87;
  --ws-home-ink: #100D18;
  --ws-home-text: #F8F7FC;
  --ws-home-muted: #DFD9EB;
}
/* Existing EN + ES content CTAs, NOT links in regular copy, nav breadcrumbs, footer or chat. */
html body.page-id-28131 section.hero a.btn,
html body.page-id-28131 .hero .acts a.btn,
html body.page-id-28131 section.cta a.btn,
html body.page-id-28131 .wsn .btn.primary,
html body.page-id-28131 .wsn .btn.white,
html body.page-id-28217 .wse a.btn,
html body.page-id-28217 .wse a.ws-home-brand-cta,
html body.page-id-28217 .wse section a[class*="btn"],
html body.page-id-28217 .wse section button[class*="btn"] {
  background: var(--ws-home-brand) !important;
  background-image: none !important;
  background-color: var(--ws-home-brand) !important;
  border: 1px solid var(--ws-home-brand) !important;
  color: var(--ws-home-ink) !important;
  -webkit-text-fill-color: var(--ws-home-ink) !important;
  text-shadow: none !important;
  box-shadow: 0 8px 22px rgba(168,255,55,.18) !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  filter: none !important;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
/* Spanish CTA labels introduced by content-enrichment plugins may be plain links;
   give only recognized calls to action a real accessible button layout. */
html body.page-id-28217 .wse section a.ws-home-brand-cta {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:13px 21px !important;
  margin:7px 10px 7px 0 !important;
  line-height:1.35 !important;
  vertical-align:middle !important;
  white-space:normal !important;
  text-align:center !important;
}
html body.page-id-28131 section.hero a.btn:hover,
html body.page-id-28131 .hero .acts a.btn:hover,
html body.page-id-28131 section.cta a.btn:hover,
html body.page-id-28131 .wsn .btn.primary:hover,
html body.page-id-28131 .wsn .btn.white:hover,
html body.page-id-28217 .wse a.btn:hover,
html body.page-id-28217 .wse a.ws-home-brand-cta:hover,
html body.page-id-28217 .wse section a[class*="btn"]:hover,
html body.page-id-28217 .wse section button[class*="btn"]:hover {
  background: var(--ws-home-hover) !important;
  background-color: var(--ws-home-hover) !important;
  background-image: none !important;
  color: var(--ws-home-ink) !important;
  -webkit-text-fill-color: var(--ws-home-ink) !important;
  border-color: var(--ws-home-hover) !important;
  box-shadow: 0 10px 25px rgba(168,255,55,.25) !important;
}
html body:is(.page-id-28131,.page-id-28217)
  :is(.wsn,.wse,.ws-home-journey) a:focus-visible {
  outline: 3px solid #E0FF9F !important;
  outline-offset: 3px !important;
}
/* Unified exact logo green in the MAIN home hero only. Keep plain headline white. */
html body.page-id-28131 section.hero h1 em,
html body.page-id-28217 .wse section.hero h1 em {
  color: var(--ws-home-brand) !important;
  -webkit-text-fill-color: var(--ws-home-brand) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}
/* Hero title CTA white on black: keep prior approved contrast repair (Code Snippets #40) */
html body.page-id-28131 section.cta h2,
html body.page-id-28131 section.cta h2 * {
  color: #FFF !important;
  -webkit-text-fill-color: #FFF !important;
}
html body.page-id-28217 .wse section.ws-home-es-cta-150 h2 {
  color: #FFF !important;
  -webkit-text-fill-color: #FFF !important;
}
/* English process block: never inherit Webcy's #05020f paragraphs on dark canvas. */
html body.page-id-28131 .wsn .sec:has(.steps) .head h2,
html body.page-id-28131 .sec:has(.steps) .head h2,
html body.page-id-28131 .sec:has(.steps) .steps h3 {
  color: var(--ws-home-text) !important;
  -webkit-text-fill-color: var(--ws-home-text) !important;
}
html body.page-id-28131 .sec:has(.steps) .head h2 em {
  color: var(--ws-home-brand) !important;
  -webkit-text-fill-color: var(--ws-home-brand) !important;
  background: none !important;
  font-style: italic !important;
}
html body.page-id-28131 .sec:has(.steps) .steps article p,
html body.page-id-28131 .sec:has(.steps) .head > p {
  color: var(--ws-home-muted) !important;
  -webkit-text-fill-color: var(--ws-home-muted) !important;
  opacity: 1 !important;
  line-height: 1.7 !important;
}
html body.page-id-28131 .sec:has(.steps) .steps article {
  min-width: 0;
  border-top: 1px solid rgba(168,255,55,.45) !important;
  background: linear-gradient(180deg,rgba(48,30,69,.35),rgba(12,9,22,.15));
  border-radius: 12px !important;
  padding: clamp(18px,2vw,25px) !important;
}
/* The original code printed 01..04 as bare TEXT nodes, not span elements.
   JS wraps only those bare numbers, leaving titles/content unchanged. */
html body.page-id-28131 .sec:has(.steps) .steps article .ws-home-stage-number {
  display: block !important;
  color: var(--ws-home-brand) !important;
  -webkit-text-fill-color: var(--ws-home-brand) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  font-variant-numeric: tabular-nums;
}
html body.page-id-28131 .sec:has(.steps) .steps article h3 {margin: 16px 0 10px !important;}
/* Shared journey image. Figure inserts inside existing EN process or added ES section. */
html body:is(.page-id-28131,.page-id-28217) .ws-home-journey__visual {
  display:block !important;
  margin: clamp(25px,3.2vw,44px) auto !important;
  width:100%;
  max-width:1180px;
  line-height:0;
  background:#110820;
  border:1px solid rgba(166,118,238,.47);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 16px 50px rgba(0,0,0,.28);
}
html body:is(.page-id-28131,.page-id-28217) .ws-home-journey__visual img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  opacity:1 !important;
}
/* Spanish page did not have an equivalent project section: add reversible modern counterpart. */
html body.page-id-28217 .wse section.ws-home-journey--es {
  padding:clamp(50px,6vw,82px) 0 !important;
  margin:0 auto !important;
  background:transparent !important;
  color:var(--ws-home-text) !important;
  border:0 !important;
}
html body.page-id-28217 .wse .ws-home-journey__shell {
  width:min(1160px,calc(100% - 36px));
  margin-inline:auto;
}
html body.page-id-28217 .wse .ws-home-journey__eyebrow {
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--ws-home-brand) !important;
  -webkit-text-fill-color:var(--ws-home-brand) !important;
}
html body.page-id-28217 .wse .ws-home-journey__title {
  font-size:clamp(32px,4.9vw,58px) !important;
  line-height:1.15 !important;
  margin:13px 0 17px !important;
  letter-spacing:-.035em;
  color:var(--ws-home-text) !important;
  -webkit-text-fill-color:var(--ws-home-text) !important;
}
html body.page-id-28217 .wse .ws-home-journey__title em {
  color:var(--ws-home-brand) !important;
  -webkit-text-fill-color:var(--ws-home-brand) !important;
  font-style:italic !important;
  background:none !important;
}
html body.page-id-28217 .wse .ws-home-journey__intro {
  max-width:800px !important;
  font-size:clamp(16px,1.7vw,19px) !important;
  color:var(--ws-home-muted) !important;
  -webkit-text-fill-color:var(--ws-home-muted) !important;
  line-height:1.7 !important;
}
html body.page-id-28217 .wse .ws-home-journey__stages {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
html body.page-id-28217 .wse .ws-home-journey__stage {
  min-width:0;
  padding:24px;
  border:1px solid rgba(167,130,217,.30);
  border-top:1px solid rgba(168,255,55,.56);
  border-radius:16px;
  background:linear-gradient(150deg,rgba(42,25,67,.74),rgba(13,10,25,.95));
}
html body.page-id-28217 .wse .ws-home-journey__stage .ws-home-stage-number {
  display:block;
  font-size:15px;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--ws-home-brand) !important;
  -webkit-text-fill-color:var(--ws-home-brand) !important;
}
html body.page-id-28217 .wse .ws-home-journey__stage h3 {
  margin:17px 0 12px !important;
  font-size:clamp(21px,2.4vw,25px) !important;
  color:var(--ws-home-text) !important;
  -webkit-text-fill-color:var(--ws-home-text) !important;
}
html body.page-id-28217 .wse .ws-home-journey__stage p {
  color:var(--ws-home-muted) !important;
  -webkit-text-fill-color:var(--ws-home-muted) !important;
  font-size:14px !important;
  line-height:1.7 !important;
  margin:0 !important;
}
/* CTA styling: only content calls-to-action; cannot recolor sitewide WC, legal or external apps. */
@media(max-width:1020px){
  html body.page-id-28217 .wse .ws-home-journey__stages {grid-template-columns:repeat(2,minmax(0,1fr));}
  html body.page-id-28131 .sec:has(.steps) .steps {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  html body.page-id-28217 .wse section.hero h1 {
    font-size:clamp(30px,8.8vw,43px) !important;
    line-height:1.05 !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }

  html body.page-id-28217 .wse .ws-home-journey__stages,
  html body.page-id-28131 .sec:has(.steps) .steps {grid-template-columns:minmax(0,1fr) !important;}
  html body:is(.page-id-28131,.page-id-28217) .ws-home-journey__visual {border-radius:14px;}
  html body.page-id-28217 .wse .ws-home-journey__stage,
  html body.page-id-28131 .sec:has(.steps) .steps article {padding:18px !important;}
  html body.page-id-28131 .sec:has(.steps) .head h2,
  html body.page-id-28217 .wse .ws-home-journey__title {font-size:clamp(30px,8.5vw,42px) !important;}
}
@media(prefers-reduced-motion:reduce){
 html body:is(.page-id-28131,.page-id-28217) a.btn {transition:none!important;transform:none!important;}
}

/* WebSourcy 1.5.2 / WSC-022 — follow-up after live user review, 2026-10-31.
   Remove the dark backing introduced in 1.5.1. Keep the approved brand lime
   (#A8FF37) for the EN title and numerals, with no pill, badge or dark box
   behind the letters/numbers. Adjacent descriptive copy remains unchanged. */
html body.page-id-28131 .sec.light .sh.system .copy h2 {
  display: block !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  color: #A8FF37 !important;
  -webkit-text-fill-color: #A8FF37 !important;
  opacity: 1 !important;
  line-height: 1.28 !important;
  box-shadow: none !important;
}
html body.page-id-28131 .sec.light .sh.system .copy h2 em {
  background: transparent !important;
  background-image: none !important;
  color: #A8FF37 !important;
  -webkit-text-fill-color: #A8FF37 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
html body.page-id-28131 .sec.light .sh.system .copy ul > li > .ws-system-number {
  display: inline-block !important;
  min-width: 2ch !important;
  flex: 0 0 2ch !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
  color: #A8FF37 !important;
  -webkit-text-fill-color: #A8FF37 !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  align-self: center !important;
  opacity: 1 !important;
  box-sizing: content-box !important;
  box-shadow: none !important;
}
/* ES: the 1.5.0 style recognizer accidentally omitted this exact CTA text.
   Make all approved HOME action links actual 44px buttons (including links
   inside a div rather than a section), preserving href, tab focus and labels. */
html body.page-id-28217 .wse a.ws-home-brand-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 44px !important;
  max-width: 100% !important;
  padding: 13px 21px !important;
  border-radius: 999px !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
@media(max-width:390px) {
  html body.page-id-28131 .sec.light .sh.system .copy h2 {
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
    overflow-wrap: break-word !important;
  }
  html body.page-id-28131 .sec.light .sh.system .copy ul > li {
    gap: 9px !important;
  }
  html body.page-id-28217 .wse a.ws-home-brand-cta {
    margin-block: 6px !important;
  }
}
@media(prefers-reduced-motion:reduce) {
  html body.page-id-28217 .wse a.ws-home-brand-cta {
    transition: none !important;
    transform: none !important;
  }
}
