/* SHANX STABILITY CORE v2 — deterministic paint, native scroll, one mobile layout authority. */

.reveal,.reveal.visible,.living-experience.reveal,.maya-enabled .reveal{
  opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;transition:none!important;
}
html::after,.maya-enabled::before{display:none!important;content:none!important}
.shanx-materialise,.maya-room-forming{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}

html,body{scroll-behavior:smooth;overflow-x:hidden}
.maya-enabled main{height:auto!important;overflow:visible!important}
.maya-enabled main>section,main>section{
  position:relative!important;inset:auto!important;height:auto!important;min-height:auto!important;
  opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;
  content-visibility:visible!important;contain:none!important;will-change:auto!important;
}
.maya-enabled #home,#home{min-height:100svh!important}
.maya-enabled footer{display:flex!important}

html[data-theme-boot] *,html[data-theme-boot] *::before,html[data-theme-boot] *::after{animation:none!important;transition:none!important}
html[data-theme-boot] body{background:var(--living-bg,#f7f2e8)!important}
.grain,.rain,.mist{animation:none!important}.rain,.mist{display:none!important}
.hill,.summer-disc,.companion-pulse,.companion-panel::before{animation:none!important}
.site-header,.companion-panel,.theme-drawer,.companion-panel .panel-head,.theme-drawer .panel-head{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.living-panel-open main{filter:none!important}

html:not([data-theme-boot])[data-theme] body,
html:not([data-theme-boot])[data-theme] main>section,
html:not([data-theme-boot])[data-theme] .site-header,
html:not([data-theme-boot])[data-theme] footer{
  transition:background-color .18s ease,color .16s ease,border-color .16s ease!important;
}

/* Header tools live outside primary navigation. */
.site-header nav{margin-left:auto}
.header-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:12px;position:relative;z-index:10060}
.theme-menu{position:relative;display:flex;align-items:center;flex:0 0 auto}
.theme-icon-button{
  appearance:none;width:38px;height:38px;display:grid;place-items:center;padding:0;
  border:1px solid var(--living-line);border-radius:999px;
  background:color-mix(in srgb,var(--living-surface-strong) 86%,transparent);color:var(--living-ink);
  cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.theme-icon-button:hover,.theme-icon-button:focus-visible{
  border-color:color-mix(in srgb,var(--living-accent) 42%,var(--living-line));
  background:color-mix(in srgb,var(--living-accent) 7%,var(--living-surface-strong));
}
.theme-icon-glyph{
  position:relative;width:20px;height:20px;border-radius:50%;display:block;
  background:conic-gradient(from 20deg,#8e66e8 0 17%,#187fa2 17% 34%,#18704f 34% 51%,#df794f 51% 68%,#b96a4b 68% 84%,#d7c7a6 84% 100%);
  box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--living-surface-strong) 92%,transparent);
}
.theme-icon-glyph i{display:none}

.site-header .theme-dropdown{
  position:absolute!important;z-index:10080!important;top:calc(100% + 12px)!important;right:0!important;bottom:auto!important;left:auto!important;
  width:310px!important;max-height:min(520px,calc(100vh - 110px))!important;overflow:auto!important;padding:8px!important;
  border:1px solid var(--living-line)!important;border-radius:18px!important;background:var(--living-surface-strong)!important;
  box-shadow:0 22px 60px color-mix(in srgb,var(--living-dark) 18%,transparent)!important;
  transform:translateY(-7px)!important;transform-origin:calc(100% - 18px) 0!important;opacity:0!important;pointer-events:none!important;
  transition:opacity .14s ease,transform .14s ease!important;
}
.site-header .theme-dropdown[data-open="true"]{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
.theme-dropdown-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:9px 10px 11px;border-bottom:1px solid var(--living-line)}
.theme-dropdown-head span{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--living-ink)}
.theme-dropdown-head small{font-size:8px;color:var(--living-muted);white-space:nowrap}
.theme-dropdown-list{display:grid;gap:3px;padding-top:6px}
.theme-option{
  appearance:none;position:relative;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;
  border:0;border-radius:12px;background:transparent;color:var(--living-ink);text-align:left;cursor:pointer;font:inherit;
}
.theme-option:hover,.theme-option:focus-visible{background:color-mix(in srgb,var(--living-accent) 7%,var(--living-surface))}
.theme-option>i{width:22px;height:22px;border-radius:50%;border:1px solid color-mix(in srgb,var(--living-ink) 10%,transparent)}
.theme-option[data-theme-choice="ivory"]>i{background:linear-gradient(135deg,#f8f3e9,#b96a4b)}
.theme-option[data-theme-choice="forest"]>i{background:linear-gradient(135deg,#d7e8d4,#18704f)}
.theme-option[data-theme-choice="midnight"]>i{background:linear-gradient(135deg,#07121d,#56d0bd)}
.theme-option[data-theme-choice="ocean"]>i{background:linear-gradient(135deg,#edf6f8,#187fa2)}
.theme-option[data-theme-choice="shadow"]>i{background:linear-gradient(135deg,#0d0c16,#8e66e8)}
.theme-option[data-theme-choice="voyager"]>i{background:linear-gradient(135deg,#f8eee2,#df794f)}
.theme-option span{min-width:0;display:block}.theme-option strong{display:block;font-size:10px;line-height:1.2;letter-spacing:.02em}
.theme-option small{display:block;margin-top:3px;font-size:8px;line-height:1.2;color:var(--living-muted)}
.theme-option[aria-pressed="true"]{background:color-mix(in srgb,var(--living-accent) 8%,var(--living-surface))}
.theme-option[aria-pressed="true"]::after{content:"✓";font-size:11px;font-weight:800;color:var(--living-accent)}

#experience{display:none!important}

@media(max-width:980px){
  .living-cursor-aura{display:none!important}

  /* Fixed top header is only brand + π + theme. */
  .maya-enabled .site-header,.site-header{
    min-height:64px!important;padding:12px 16px!important;display:flex!important;align-items:center!important;
    background:color-mix(in srgb,var(--living-surface-strong) 92%,transparent)!important;
  }
  .header-tools{
    position:fixed!important;top:12px!important;right:16px!important;left:auto!important;bottom:auto!important;
    margin:0!important;display:flex!important;gap:8px!important;z-index:10070!important;
  }
  .header-tools .pi-nav-link,.header-tools .theme-icon-button{width:38px!important;height:38px!important;min-width:38px!important;flex:none!important}

  /* Bottom bar contains only public destinations. */
  .maya-enabled .site-header nav,.site-header nav{
    display:flex!important;position:fixed!important;left:50%!important;right:auto!important;top:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;
    width:min(calc(100vw - 20px),520px)!important;padding:6px!important;gap:0!important;
    flex-direction:row!important;justify-content:space-between!important;align-items:center!important;
    border:1px solid var(--living-line)!important;border-radius:24px!important;
    background:color-mix(in srgb,var(--living-surface-strong) 94%,transparent)!important;
    box-shadow:0 12px 34px color-mix(in srgb,var(--living-dark) 15%,transparent)!important;z-index:10040!important;margin:0!important;
  }
  .maya-enabled .site-header nav>a,.site-header nav>a{
    flex:1 1 25%!important;min-width:0!important;padding:11px 4px!important;border:0!important;border-radius:16px!important;
    text-align:center!important;font-size:clamp(10px,2.8vw,12px)!important;line-height:1!important;letter-spacing:-.01em!important;
    white-space:nowrap!important;color:var(--living-ink)!important;background:transparent!important;
  }
  .site-header nav .living-nav-action{display:none!important}

  .site-header .theme-dropdown{
    position:fixed!important;top:62px!important;right:12px!important;bottom:auto!important;left:12px!important;width:auto!important;
    max-height:min(62vh,480px)!important;transform:translateY(-6px)!important;transform-origin:calc(100% - 18px) 0!important;
  }
  .site-header .theme-dropdown[data-open="true"]{transform:translateY(0)!important}

  .maya-enabled #home,#home{
    min-height:100svh!important;padding:136px 24px 118px!important;align-items:flex-start!important;
  }
  .maya-enabled #home .hero-copy,#home .hero-copy{width:100%!important;max-width:100%!important;margin:0!important}
  .maya-enabled #home .eyebrow,#home .eyebrow{margin:0 0 22px!important;max-width:28ch!important}
  .maya-enabled #home .hero-copy h1,#home .hero-copy h1{margin-top:0!important;margin-bottom:28px!important;max-width:7.3ch!important}
  .maya-enabled #home .lede,#home .lede{max-width:31ch!important;font-size:clamp(17px,4.7vw,19px)!important;line-height:1.58!important}

  .living-dock{right:12px!important;bottom:92px!important;z-index:10035!important}
  .companion-panel{right:10px!important;bottom:148px!important;width:calc(100vw - 20px)!important;max-height:calc(100svh - 170px)!important}
}

@media(max-width:420px){
  .maya-enabled #home,#home{padding:132px 20px 116px!important}
  .maya-enabled .site-header nav>a,.site-header nav>a{font-size:10px!important;padding-left:2px!important;padding-right:2px!important}
}

/* Mobile footer clearance is owned here because this stylesheet loads last. */
@media(max-width:980px){
  .maya-enabled footer,footer{
    position:relative!important;
    z-index:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:12px!important;
    padding:26px 20px calc(116px + env(safe-area-inset-bottom,0px))!important;
  }
  footer>div:last-child{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:14px 22px!important;
  }
  footer a{display:inline-flex!important;align-items:center!important;min-height:36px!important}
}
@media(max-width:420px){
  .maya-enabled footer,footer{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))!important}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Enterprise AI Assurance page — CSP-safe scoped layout. The page's inline <style> is intentionally ignored by CSP. */
main.assurance-shell{max-width:1180px;margin:0 auto;padding:110px 24px 80px}
main.assurance-shell .assurance-hero{padding:72px 0 56px;max-width:900px}
main.assurance-shell .assurance-hero h1{font-size:clamp(2.8rem,7vw,6.8rem);line-height:.94;margin:.2em 0}
main.assurance-shell .assurance-hero .lede{max-width:800px}
main.assurance-shell .assurance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0 56px}
main.assurance-shell .assurance-card{border:1px solid rgba(23,48,42,.18);padding:24px;min-height:190px;background:rgba(23,48,42,.025)}
main.assurance-shell .assurance-card h3{margin:.25rem 0 .7rem;font-size:1.2rem}
main.assurance-shell .assurance-card p{margin:0;line-height:1.65}
main.assurance-shell .evidence-table{width:100%;border-collapse:collapse;margin:24px 0 56px}
main.assurance-shell .evidence-table th,main.assurance-shell .evidence-table td{padding:14px 12px;border-bottom:1px solid rgba(23,48,42,.15);text-align:left;vertical-align:top}
main.assurance-shell .evidence-table th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
main.assurance-shell .status-proven{font-weight:700}
main.assurance-shell .status-open{opacity:.78}
main.assurance-shell .assurance-section{padding:54px 0;border-top:1px solid rgba(23,48,42,.13)}
main.assurance-shell .assurance-section h2{font-size:clamp(2rem,4vw,4rem);max-width:820px;margin:.25em 0 .55em}
main.assurance-shell .assurance-section>p{max-width:820px;line-height:1.7}
main.assurance-shell .flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:28px 0}
main.assurance-shell .flow div{border-top:2px solid currentColor;padding-top:12px}
main.assurance-shell .flow span{display:block;font-size:.75rem;opacity:.65;margin-bottom:8px}
main.assurance-shell .faq details{border-top:1px solid rgba(23,48,42,.15);padding:18px 0}
main.assurance-shell .faq summary{cursor:pointer;font-weight:700}
main.assurance-shell .faq p{max-width:840px;line-height:1.7}
main.assurance-shell .boundary{padding:22px;border-left:3px solid currentColor;background:rgba(23,48,42,.035);max-width:900px}
main.assurance-shell .cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}

@media(max-width:760px){
  main.assurance-shell{width:100%!important;max-width:100%!important;padding:96px 18px 132px!important;overflow:hidden!important}
  main.assurance-shell .assurance-hero{width:100%!important;max-width:100%!important;padding:40px 0 42px!important}
  main.assurance-shell .assurance-hero h1{font-size:clamp(42px,12vw,58px)!important;line-height:1!important;letter-spacing:-.025em!important;max-width:100%!important;margin:8px 0 24px!important;padding:0!important;overflow-wrap:normal!important;word-break:normal!important;transform:none!important;text-indent:0!important}
  main.assurance-shell .assurance-hero .lede{font-size:clamp(17px,4.8vw,20px)!important;line-height:1.55!important;max-width:100%!important}
  main.assurance-shell .assurance-grid{grid-template-columns:1fr!important}
  main.assurance-shell .flow{grid-template-columns:1fr 1fr!important}
  main.assurance-shell .evidence-table{font-size:14px!important;display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  main.assurance-shell .evidence-table th,main.assurance-shell .evidence-table td{min-width:150px!important;padding:12px 10px!important}
  main.assurance-shell .cta{gap:10px!important}
  main.assurance-shell .cta .button{flex:1 1 100%!important;text-align:center!important;max-width:100%!important}
  main.assurance-shell #evidence,main.assurance-shell #pilot,main.assurance-shell #contact{scroll-margin-top:82px!important}
}

@media(max-width:420px){
  main.assurance-shell{padding-left:16px!important;padding-right:16px!important}
  main.assurance-shell .assurance-hero h1{font-size:clamp(40px,11.2vw,50px)!important}
  main.assurance-shell .flow{grid-template-columns:1fr!important}
}
