
/* v93 shared site shell — single source of truth for global header/navigation */
:root{
  /* Canonical shared design tokens. Keep cross-page color changes here. */
  --ink:#0c0c10;
  --muted:#626475;
  --purple:#5336e8;
  --purple2:#7044f4;
  --blue:#2b64d8;
  --cyan:#159eb9;
  --green:#269650;
  --gold:#bd8917;
  --border:#e7e5ef;
  --soft:#f8f7fc;
  --softp:#f3f0ff;
  --white:#fff;
  --card:#fff;
  --bg:#fff;

  --shell-max:1180px;
  --shell-x:28px;
  --shell-nav-size:15px;
  --shell-control-size:14px;
  --shell-brand-size:18px;
}
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(12px)!important;
  border-bottom:1px solid var(--border)!important;
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  margin-inline:calc(50% - 50vw)!important;
  box-sizing:border-box!important;
}
.dark .topbar,
.v88-dark .topbar,
body.dark .topbar,
body.v88-dark .topbar{
  background:rgba(16,16,20,.96)!important;
}
.topbar .topinner{margin:0 auto!important;padding:13px var(--shell-x)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.brand-button{
  border:0!important;background:transparent!important;color:inherit!important;
  padding:0!important;margin:0!important;cursor:pointer!important;
  text-align:left!important;text-decoration:none!important;white-space:nowrap!important;
}
.brand{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:var(--shell-brand-size)!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.brand span{color:var(--purple)!important}
.nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-left:auto!important;
}
.nav button,.nav a{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  padding:9px 10px!important;
  border-radius:9px!important;
  cursor:pointer!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:var(--shell-nav-size)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.nav button:hover,.nav button.active,.nav a:hover{
  background:var(--softp)!important;color:var(--purple)!important;
}
.top-actions{
  display:flex!important;align-items:center!important;gap:8px!important;margin-left:10px!important;
}
.theme-toggle{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:44px!important;height:40px!important;
  border:1px solid var(--border)!important;background:var(--card)!important;color:inherit!important;
  border-radius:999px!important;padding:0 12px!important;cursor:pointer!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:var(--shell-control-size)!important;
  line-height:1!important;font-weight:800!important;white-space:nowrap!important;
}
.theme-toggle:hover{background:var(--softp)!important;color:var(--purple)!important}
.secondary-menu{position:relative!important}
.secondary-menu summary{
  list-style:none!important;display:flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;min-height:40px!important;box-sizing:border-box!important;
  border:1px solid var(--border)!important;background:var(--card)!important;color:inherit!important;
  border-radius:999px!important;padding:0 14px!important;cursor:pointer!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:var(--shell-control-size)!important;
  line-height:1.2!important;font-weight:800!important;white-space:nowrap!important;
}
.secondary-menu summary::-webkit-details-marker{display:none!important}
.secondary-menu summary:hover,.secondary-menu[open] summary{background:var(--softp)!important;color:var(--purple)!important}
.menu-chevron{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:14px!important;min-width:14px!important;height:14px!important;
  font-size:14px!important;line-height:1!important;transform:translateY(-1px)!important;
  transition:transform .15s ease!important;
}
.secondary-menu[open] .menu-chevron{transform:translateY(1px) rotate(180deg)!important}
.secondary-menu-panel{position:absolute!important;right:0!important;top:calc(100% + 8px)!important;z-index:90!important;border:1px solid var(--border)!important;background:var(--card)!important;box-shadow:0 18px 42px rgba(0,0,0,.16)!important}
.secondary-menu-panel a{color:inherit!important;text-decoration:none!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-weight:700!important}
.secondary-menu-panel a:hover{background:var(--softp)!important;color:var(--purple)!important}
.secondary-menu-label{
  display:block!important;padding:7px 10px 4px!important;color:var(--muted)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:10px!important;font-weight:800!important;
  letter-spacing:.06em!important;text-transform:uppercase!important;
}
#mobileNav,#v922MobileNav{
  display:none!important;appearance:none!important;-webkit-appearance:none!important;
  border:1px solid var(--border)!important;background-color:var(--card)!important;color:inherit!important;
  border-radius:9px!important;padding:9px 34px 9px 11px!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:14px!important;font-weight:700!important;
  min-width:154px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' fill='none' stroke='%235336e8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:16px 16px!important;
}
.dark #mobileNav,.dark #v922MobileNav,.v88-dark #mobileNav,.v88-dark #v922MobileNav{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' fill='none' stroke='%23b9a8ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
@media(max-width:860px){
  .nav{display:none!important}
  .secondary-menu{display:none!important}
  #mobileNav,#v922MobileNav{display:block!important}
  .top-actions{margin-left:auto!important}
}
@media(max-width:560px){
  :root{--shell-x:14px;--shell-brand-size:15px}
  .topbar .topinner{
    padding-top:11px!important;
    padding-bottom:11px!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  .topbar .brand-button{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .topbar .brand{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .topbar .top-actions{
    flex:0 0 auto!important;
    min-width:0!important;
    gap:8px!important;
  }
  .theme-toggle{
    flex:0 0 38px!important;
    min-width:38px!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
  }
  #mobileNav,#v922MobileNav{
    flex:0 0 clamp(108px,34vw,146px)!important;
    width:clamp(108px,34vw,146px)!important;
    min-width:0!important;
    max-width:146px!important;
    padding-left:9px!important;
    padding-right:30px!important;
    background-position:right 8px center!important;
  }
}
@media(max-width:360px){
  :root{--shell-x:10px;--shell-brand-size:13.5px}
  .topbar .topinner{gap:6px!important}
  .topbar .top-actions{gap:6px!important}
  .theme-toggle{flex-basis:36px!important;min-width:36px!important;width:36px!important;height:36px!important;padding:0!important}
  #mobileNav,#v922MobileNav{
    flex-basis:104px!important;
    width:104px!important;
    max-width:104px!important;
    font-size:13px!important;
  }
}

/* v95.3 — Evidence menu polish */
.secondary-menu-panel{border-radius:16px!important}
.secondary-menu-panel .menu-label{
  display:block!important;
  padding:10px 10px 5px!important;
  margin-top:2px!important;
  color:var(--muted)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.secondary-menu-panel .menu-label:first-child{
  padding-top:4px!important;
}
.secondary-menu-panel a{align-items:center!important;min-height:38px!important;box-sizing:border-box!important;padding:9px 11px!important;margin:2px 0!important;border-radius:10px!important;font-size:13px!important;line-height:1.25!important}
.secondary-menu-panel .menu-label + a{
  margin-top:1px!important;
}
.secondary-menu-panel a + .menu-label{
  margin-top:8px!important;
  padding-top:12px!important;
  border-top:1px solid var(--border)!important;
}

/* v95.4 — final Evidence menu hierarchy */
.secondary-menu-panel{width:310px!important;padding:12px!important}
.evidence-menu-intro{
  padding:5px 9px 11px!important;margin-bottom:5px!important;
  border-bottom:1px solid var(--border)!important;
}
.evidence-menu-intro strong{
  display:block!important;font:800 12px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;color:var(--ink)!important;
}
.evidence-menu-intro span{
  display:block!important;margin-top:3px!important;font:500 11px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;color:var(--muted)!important;
}
.secondary-menu-panel a{display:block!important}
.secondary-menu-panel a span{display:block!important}
.secondary-menu-panel a small{
  display:block!important;margin-top:2px!important;color:var(--muted)!important;
  font-size:10.5px!important;font-weight:500!important;line-height:1.25!important;
}
.secondary-menu-panel a:hover small{color:inherit!important;opacity:.8}

/* v95.11 — sticky-header deep-link polish */
html{
  scroll-padding-top:88px;
}

/* Any explicitly linked section/heading should clear the sticky global header. */
[id]{
  scroll-margin-top:88px;
}

@media(max-width:560px){
  html{scroll-padding-top:76px}
  [id]{scroll-margin-top:76px}
}

.deep-link-return{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 18px;
  color:var(--muted);
  font:700 12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.deep-link-return a{
  color:var(--purple);
  text-decoration:none;
}
.deep-link-return a:hover{
  text-decoration:underline;
}


/* v95.32 — global header geometry only.
   Intentionally does not alter page/content layout. */
html{
  scrollbar-gutter:stable;
}
.topbar .topinner{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
/* Equal left/right header anchors keep the center navigation stationary. */
.topbar .brand-button{
  flex:0 0 190px!important;
  min-width:190px!important;
}
.topbar .top-actions{
  flex:0 0 190px!important;
  min-width:190px!important;
  justify-content:flex-end!important;
  margin-left:0!important;
}
.topbar .nav{
  flex:1 1 auto!important;
  margin-left:0!important;
}
@media(max-width:860px){
  .topbar .brand-button{
    flex:0 1 auto!important;
    min-width:0!important;
  }
  .topbar .top-actions{
    flex:0 1 auto!important;
    min-width:0!important;
    margin-left:auto!important;
  }
}


/* v95.47 — safe interaction hardening */
.nav a[aria-current="page"],
.nav a.active,
.nav button.active{
  background:var(--softp)!important;
  color:var(--purple)!important;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
select:focus-visible,
[role="button"]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--purple) 72%,white)!important;
  outline-offset:3px!important;
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* v95.90 — preserve readable mobile navigation labels at the narrowest width. */
@media(max-width:360px){
  .topbar .brand span{display:none!important}
  #mobileNav,#v922MobileNav{
    flex-basis:126px!important;
    width:126px!important;
    max-width:126px!important;
  }
}

/* v96.1 — homepage State feature typography hierarchy. */
.home-state-copy .home-state-lead{
  max-width:720px!important;
  margin:0!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:20px!important;
  line-height:1.48!important;
  font-weight:620!important;
  letter-spacing:-.012em!important;
  color:var(--ink)!important;
}
.home-state-copy .home-state-lead + p{
  max-width:700px!important;
  margin:20px 0 0!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.6!important;
  font-weight:450!important;
  letter-spacing:-.004em!important;
  color:var(--muted)!important;
}
body.v88-dark .home-state-copy .home-state-lead,
.dark .home-state-copy .home-state-lead{color:var(--ink)!important}
body.v88-dark .home-state-copy .home-state-lead + p,
.dark .home-state-copy .home-state-lead + p{color:var(--muted)!important}
@media(max-width:760px){
  .home-state-copy .home-state-lead{font-size:18px!important;line-height:1.52!important}
  .home-state-copy .home-state-lead + p{font-size:15.5px!important;margin-top:17px!important}
}

/* v96.2 — homepage reads as product judgment, not a learning log.
   The copy itself lives in index.html. These rules only style it.

   This block previously carried the copy in `content:` on ::before while
   zeroing the real paragraphs with font-size:0, so the visible text and the
   DOM text disagreed: screen readers, search engines, link previews and View
   Source all got the older wording. The text now lives in the markup and only
   its presentation lives here.

   `.home-state-copy .home-state-lead + p` needs no rule — the v96.1 block
   above already gives it exactly this treatment. */
#home > .hero > .lead{
  display:block;
  max-width:980px;
  font-size:19px;
  line-height:1.55;
  color:var(--muted);
}
#home .home-legal-feature .home-feature-wide-text p{
  display:block;
  font-size:14px;
  line-height:1.55;
  color:var(--muted);
}
@media(max-width:560px){
  #home > .hero > .lead{font-size:17px}
}

/* v98.1 — keep the flagship State title prominent without overpowering the card. */
#ai-cs-mock .home-state-feature h2{
  font-size:clamp(2rem,3.8vw,3.15rem)!important;
  line-height:1.02!important;
}

/* v98.2 — the bottom Working style section already explains the non-linear learning approach. */
#ai-cs-mock .learning-hero > .lead + .lead{
  display:none!important;
}

/* v98.3 — keep expanded Learning Guide content inside its mobile card bounds. */
@media(max-width:640px){
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-body,
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-group,
  #ai-cs-mock [data-page="learn"] .learning-stage .learning-item{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-group.practice{
    margin-left:0!important;
    margin-right:0!important;
    width:auto!important;
    max-width:100%!important;
  }
  #ai-cs-mock [data-page="learn"] .learning-stage .resource-row{
    min-width:0!important;
    max-width:100%!important;
  }
  #ai-cs-mock [data-page="learn"] .learning-stage .resource-link{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #ai-cs-mock [data-page="learn"] .learning-stage .learning-item,
  #ai-cs-mock [data-page="learn"] .learning-stage .learning-item p,
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-group.practice p{
    overflow-wrap:break-word!important;
  }
}

/* v98.4 — keep Reference / deeper dive rows away from the clipped card edge on phones. */
@media(max-width:640px){
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-body > .stage-group:not(.practice){
    position:relative!important;
    left:0!important;
    transform:none!important;
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
    max-width:100%!important;
    padding-left:8px!important;
    padding-right:4px!important;
  }
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-body > .stage-group:not(.practice) > h3,
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-body > .stage-group:not(.practice) > .learning-item{
    position:relative!important;
    left:0!important;
    transform:none!important;
    margin-left:0!important;
    max-width:100%!important;
  }
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-body > .stage-group:not(.practice) > .learning-item > b,
  #ai-cs-mock [data-page="learn"] .learning-stage .stage-body > .stage-group:not(.practice) > .learning-item > p{
    display:block!important;
    max-width:100%!important;
  }
}

/* v98.5 — quiet calibration for Learning Guide topics that deepen through real work. */
#ai-cs-mock [data-page="learn"] .learning-curriculum-intro::after{
  content:' · “Deepens in practice” = proficiency grows through real work.';
  color:color-mix(in srgb,var(--muted) 82%,transparent)!important;
  font-size:11px!important;
  font-weight:600!important;
}
#ai-cs-mock #data-knowledge-context .stage-group:first-of-type .learning-item:nth-of-type(3) > b::after,
#ai-cs-mock #software-data-ux .stage-group:nth-of-type(2) .learning-item:nth-of-type(3) > b::after,
#ai-cs-mock #implementation-adoption .stage-group:first-of-type .learning-item:nth-of-type(1) > b::after,
#ai-cs-mock #implementation-adoption .stage-group:first-of-type .learning-item:nth-of-type(2) > b::after,
#ai-cs-mock #product-strategy .stage-group:first-of-type .learning-item:nth-of-type(1) > b::after,
#ai-cs-mock #product-strategy .stage-group:first-of-type .learning-item:nth-of-type(2) > b::after{
  content:' · DEEPENS IN PRACTICE';
  margin-left:7px!important;
  color:color-mix(in srgb,var(--muted) 78%,transparent)!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.055em!important;
  white-space:nowrap!important;
}
@media(max-width:640px){
  #ai-cs-mock [data-page="learn"] .learning-curriculum-intro::after{font-size:10.5px!important;}
  #ai-cs-mock [data-page="learn"] .learning-item > b::after{font-size:9px!important;margin-left:5px!important;}
}

/* v98.6 — keep the legend in the Reference Library row instead of the intro copy. */
#ai-cs-mock [data-page="learn"] .learning-curriculum-intro::after{
  content:none!important;
}
#ai-cs-mock [data-page="learn"] .learning-stages > .section-kicker{
  align-items:center!important;
}
#ai-cs-mock [data-page="learn"] .learning-stages > .section-kicker::after{
  content:'DEEPENS IN PRACTICE · real-world proficiency grows on the job'!important;
  height:auto!important;
  min-height:1px!important;
  flex:1 1 auto!important;
  padding-left:18px!important;
  background:linear-gradient(90deg,var(--border),var(--border)) left center / calc(100% - 315px) 1px no-repeat!important;
  color:color-mix(in srgb,var(--muted) 76%,transparent)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:.03em!important;
  text-align:right!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  #ai-cs-mock [data-page="learn"] .learning-stages > .section-kicker::after{
    content:'DEEPENS IN PRACTICE · grows through real work'!important;
    background:linear-gradient(90deg,var(--border),var(--border)) left center / calc(100% - 240px) 1px no-repeat!important;
    font-size:9px!important;
  }
}
@media(max-width:520px){
  #ai-cs-mock [data-page="learn"] .learning-stages > .section-kicker::after{
    content:''!important;
    background:var(--border)!important;
    height:1px!important;
    padding-left:0!important;
  }
}

/* v98.7 — keep homepage supporting proof compact and secondary. */
#ai-cs-mock [data-page="home"] .home-more-applied .section-kicker{
  margin:28px 0 6px!important;
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px 20px!important;
  margin-top:0!important;
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row a{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:3px!important;
  padding:5px 0!important;
  border:0!important;
  color:var(--purple)!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  text-decoration:none!important;
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row a:hover{
  text-decoration:underline!important;
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row a span{
  display:none!important;
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row a strong{
  font:inherit!important;
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row a strong::after{
  content:' →';
}
#ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row a[href="meridian.html"]{
  display:none!important;
}
#ai-cs-mock [data-page="home"] .home-quiet-ending{
  display:none!important;
}
@media(max-width:620px){
  #ai-cs-mock [data-page="home"] .home-more-applied .home-supporting-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
  }
}