/* Readable themes, compact section browsing and purposeful motion. */
:root{font-size:18px;--muted:#5E5977;--sts-header-height:108px;--motion-ease:cubic-bezier(.2,.7,.2,1)}
html[data-theme=dark]{--muted:#C3BED8}
body{font-size:1rem;line-height:1.7}
.nav{min-height:100px;gap:22px;padding-block:19px}
.nav-link{font-size:.89rem;padding-inline:10px;min-height:46px}
.nav-links{gap:2px}
.nav-actions .btn{font-size:.89rem;padding-inline:18px}
.brand-tagline{font-size:.76rem}
.sts-erp-nav small{font-size:10px}
.topbar{font-size:.78rem}
.nav-dropdown-menu b{font-size:1rem}
.nav-dropdown-menu small{font-size:.83rem}
.btn,.sts-erpm .em-btn{font-size:.94rem;min-height:52px;white-space:normal;text-align:center}
.eyebrow,.micro-label,.sts-erpm .em-kicker{font-size:.73rem;letter-spacing:.08em;line-height:1.5}
.hero-footnote{max-width:none;flex-wrap:wrap}
.hero-footnote .micro-label{font-size:.7rem}
.ocean-hero{padding-block:48px}
.ocean-copy h1{font-size:clamp(4.5rem,7.5vw,6.2rem)}
.ocean-art{min-height:470px}
.ocean-intro,.belief-strip>p,.service-tile p,.card p,.value-card p,.mission-card p,.title-block p,.form-card>p{font-size:1rem;line-height:1.7}
.service-tile .card-link{font-size:.9rem}
.service-tile .number,.art-topline,.capability-ribbon .container,.illustration-label,.system-board-head .micro-label{font-size:.72rem}
.capability-ribbon .container{letter-spacing:.04em;flex-wrap:wrap}
.system-step small,.solution-item small,.saas-model small{font-size:.85rem}
.system-step strong{font-size:1rem}
.system-step>span{font-size:.74rem}
.saas-model{color:var(--text)}
.saas-model strong{color:var(--text)}
.ai-core{background:#16135A linear-gradient(145deg,#5446FF,#16135A);color:#fff;box-shadow:0 0 0 16px color-mix(in srgb,var(--primary) 8%,transparent),0 0 0 34px color-mix(in srgb,var(--primary) 4%,transparent),var(--shadow)}
.ai-core strong,.ai-core small{color:#fff}
.ai-core::before,.ai-core::after{border-color:color-mix(in srgb,var(--primary) 30%,transparent)}
.kinetic-card,.kinetic-media,.saas-hero-art{background:#16135A linear-gradient(145deg,#16135A,#272072);border-radius:18px}
.center-hub,.ai-cluster .center-hub,.service-cluster .center-hub,.center-cube{background:#5446FF linear-gradient(145deg,#5446FF,#16135A);color:#fff}
.center-hub small,.center-cube small,.ai-core small{font-size:.8rem;color:#EEEDFF}
.kinetic-node,.glass-pill,.metric-pill{font-size:.9rem}
.kinetic-node small,.glass-pill small,.metric-pill span{font-size:.78rem;color:#DED9F3}
.dash-top .chip{font-size:.72rem}
.contact-card small{font-size:.85rem}
.contact-card strong{font-size:1.1rem}
.field label{font-size:.89rem}
.field input,.field select,.field textarea,.form-feedback{font-size:1rem}
.field input::placeholder,.field textarea::placeholder{opacity:1}
.form-privacy,.live-date,.announcement-meta,.footer h4,.footer-bottom,.mobile-menu-label{font-size:.74rem}
.footer p,.footer a:not(.brand){font-size:.9rem}
.incubation-note,.incubation-size>span{font-size:.8rem}

/* Every pale card inherits the current theme, including its secondary text. */
.feature-band{color:var(--text);background:var(--surface-2)}
.feature-band .eyebrow{color:var(--primary)!important;background:transparent!important}
.feature-band .muted,.feature-band p{color:var(--muted)}
.feature-band .check{color:var(--text)}
.feature-band .btn-secondary{color:var(--text)!important;background:var(--surface)!important;border-color:var(--line)!important}
.feature-band::after{opacity:.08;border-color:var(--primary);box-shadow:0 0 0 58px color-mix(in srgb,var(--primary) 10%,transparent)}
.mission-card .mission-no{background:var(--mist);color:var(--ink);font-size:.9rem}
.cta .btn-secondary{color:var(--ink)!important;background:#fff;border-color:#fff}
.team-band .lead{color:#E0DCF6}
.offer .eyebrow,.team-band .eyebrow{color:#D0C9FF!important}
.offer .price{color:#FFA24D}
.price small{color:var(--muted);font-size:.9rem}
.offer .gradient-text{color:#FFA24D}
.offer .price small{color:#E0DCF6;font-size:.9rem}
.offer .check::before{background:#EEEDFF;color:var(--ink)}
.sts-erpm .em-flow-board{color:var(--text)}
.sts-erpm .em-board-top{border-color:var(--line)}
.sts-erpm .em-board-top strong,.sts-erpm .em-flow-row b{color:var(--text);font-size:1rem}
.sts-erpm .em-board-top small,.sts-erpm .em-flow-row small,.sts-erpm .em-board-caption{color:var(--muted);font-size:.85rem;line-height:1.6}
.sts-erpm .em-flow-arrow{color:var(--primary)}
.sts-erpm .em-flow-row{padding:12px;gap:13px}
.sts-erpm .em-flow-num{font-size:.76rem;flex-shrink:0}
.sts-erpm .em-live-label{font-size:.63rem;letter-spacing:.02em;white-space:normal;text-align:center}
.sts-erpm .em-lead{font-size:1.08rem}
.sts-erpm .em-hero{padding:48px 0 36px}
.sts-erpm .em-hero-grid{gap:40px}
.sts-erpm h1{font-size:clamp(2.75rem,4.7vw,3.8rem)}
.sts-erpm .em-checks{font-size:.89rem}
.sts-erpm .em-card p,.sts-erpm .em-module-card p,.sts-erpm .em-detail p,.sts-erpm .em-feature-list,.sts-erpm .em-process,.sts-erpm .em-faq p{font-size:.97rem}
.sts-erpm .em-flow-strip small,.sts-erpm .em-fine,.sts-erpm .em-detail-note,.sts-erpm .em-home-offer small{font-size:.8rem}
.sts-erpm .em-filter button{font-size:.89rem;min-height:44px}
.sts-erpm .em-callout{color:var(--text)}
.sts-erpm .em-callout h2{color:var(--text)}
.sts-erpm .em-callout p{color:var(--muted);font-size:.97rem}
.sts-erpm .em-callout .em-kicker{color:var(--primary)}
.sts-erpm .em-trial-card{color:#fff}
.sts-erpm .em-trial-card b,.sts-erpm .em-trial-card .em-period{color:#fff}
.sts-erpm .em-trial-card p,.sts-erpm .em-trial-card ul{color:#E0DCF6}
.sts-erpm .em-trial-card .em-fine{font-size:.83rem}
.sts-erpm .em-screen-caption p{font-size:.9rem}
#stsErpLightbox p,#siteGalleryLightbox p{font-size:.83rem}

/* Tabs sit immediately below the hero and remain available while reading. */
.section-browser{position:relative;min-width:0}
.section-browser-nav{position:sticky;top:var(--sts-header-height);z-index:85;padding:16px 0;background:var(--surface-glass);backdrop-filter:blur(16px);border-block:1px solid var(--line)}
.section-browser-nav>.container{display:flex;align-items:center;gap:24px;min-width:0}
.section-browser-label{color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.04em;white-space:nowrap}
.section-tablist{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.section-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-weight:500;font-size:.89rem;line-height:1.35;text-align:center;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s var(--motion-ease)}
.section-tab::after{content:'';position:absolute;inset:auto 14px 4px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--motion-ease)}
.section-tab:hover{background:var(--bg-soft)}
.section-tab[aria-selected=true]{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 16px color-mix(in srgb,var(--primary) 15%,transparent)}
html[data-theme=dark] .section-tab[aria-selected=true]{background:#5446FF;border-color:#5446FF}
html[data-theme=dark] .solution-tab.active,html[data-theme=dark] .sts-erpm .em-filter button[aria-pressed=true]{background:#5446FF;border-color:#5446FF;color:#fff}
html[data-theme=dark] .timeline-dot{background:#5446FF;color:#fff}
.section-tab[aria-selected=true]::after{transform:scaleX(1)}
.section-panel{min-width:0;outline-offset:-4px;scroll-margin-top:calc(var(--sts-header-height) + 100px)}
.section-panel>.section,.section-panel>.section-sm,.section-panel>.em-section{padding-block:42px}
.section-panel .live-section{display:block!important}
.section-panel .title-block{margin-bottom:28px}
.section-panel .section-heading{margin-bottom:28px}
.section-panel .cta{margin-block:0}
.section-panel .em-detail-list{display:block}
.section-panel .em-home{padding-block:40px}
.module-browser{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}
.module-browser>.section-browser-nav{position:static;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:14px;backdrop-filter:none}
.module-browser>.section-browser-nav>.container{display:block;width:100%}
.module-browser .section-browser-label{display:block;white-space:normal;margin:4px 7px 14px}
.module-browser .section-tablist{display:grid;gap:5px}
.module-browser .section-tab{justify-content:flex-start;text-align:left;width:100%;padding-inline:13px}
.module-browser>.section-panel>.em-detail{margin:0}
html:not(.js) .section-browser-nav{display:none}
html:not(.js) .section-panel[hidden]{display:block!important}
html:not(.js) .module-browser{display:block}

/* Text stays fully opaque during every entrance and tab change. */
.page.active .reveal{animation:none}
.page.active .ocean-copy,.page.active .page-hero h1,.page.active .em-hero h1,.page.active .content-hero-box h1{animation:ocean-rise .7s var(--motion-ease) both}
.panel-enter{animation:section-arrive .34s var(--motion-ease) both}
.motion-item{opacity:1;visibility:visible}
.motion-item.in-view{animation:ocean-rise .65s var(--motion-ease) var(--motion-delay,0ms) backwards}
.brand-symbol img{animation:ocean-float 6s ease-in-out infinite}
.art-pattern,.system-pattern{animation:pattern-current 35s linear infinite}
.ocean-art::before{content:'';position:absolute;width:300px;height:300px;inset:-100px -130px auto auto;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:50%;box-shadow:0 0 0 34px color-mix(in srgb,var(--primary) 4%,transparent);pointer-events:none}
.card,.service-tile,.em-card,.em-module-card,.mission-card,.value-card,.team-card,.contact-card,.saas-model,.em-screen-card,.solution-item{transition:transform .28s var(--motion-ease),box-shadow .28s ease,border-color .28s ease,background .28s ease}
.btn>span,.btn>.icon,.em-btn>span,.card-link>.icon,.service-tile .card-link{transition:transform .25s var(--motion-ease)}
.btn:hover>span,.btn:hover>.icon,.em-btn:hover>span{transform:translate(2px,-2px)}
.btn:active,.em-btn:active,.section-tab:active{transform:scale(.98)}
.nav-dropdown[open] .nav-dropdown-menu,.mobile-menu.open{animation:section-arrive .2s var(--motion-ease)}
.nav-link,.icon-btn,.contact-card,.site-header,.section-browser-nav,body{transition:background .25s ease,color .25s ease,border-color .25s ease}
.em-flow-row,.system-step{transition:background .25s ease,border-color .25s ease}
.em-flow-row:hover,.system-step:hover{border-color:var(--primary)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .card:hover,.service-tile:hover,.sts-erpm .em-card:hover,.sts-erpm .em-module-card:hover,.mission-card:hover,.value-card:hover,.contact-card:hover,.saas-model:hover,.em-screen-card:hover,.solution-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
 .service-tile:hover .card-link{transform:translateX(4px)}
}
@keyframes ocean-rise{from{transform:translateY(12px)}to{transform:translateY(0)}}
@keyframes section-arrive{from{transform:translateY(7px)}to{transform:translateY(0)}}
@keyframes ocean-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes pattern-current{from{background-position:0 50%}to{background-position:520px 50%}}
/* Immediate foreground/surface changes prevent contrast dips when switching. */
body,body *{transition-property:transform,box-shadow,border-color,filter!important}
@media(max-width:1160px){
 .section-browser-nav>.container{display:block}
 .section-browser-label{display:block;margin-bottom:10px}
 .section-tablist{gap:6px}
 .section-browser-nav{padding-block:12px}
}
@media(max-width:900px){
 .ocean-copy h1{font-size:4.7rem}
 .module-browser{grid-template-columns:180px minmax(0,1fr);gap:18px}
 .sts-erpm .em-flow-board{max-width:none}
 .capability-ribbon .container{font-size:.7rem}
 .ocean-art{min-height:430px}
}
@media(max-width:640px){
 :root{--sts-header-height:87px;--container:calc(100% - 36px)}
 .nav{min-height:87px;padding-block:16px;gap:10px}
 .brand-tagline{font-size:.72rem}
 .ocean-hero,.sts-erpm .em-hero{padding:32px 0}
 .ocean-copy h1{font-size:clamp(3.9rem,16vw,5rem)}
 .ocean-copy .eyebrow,.hero-footnote .micro-label{font-size:.7rem}
 .hero-footnote{flex-wrap:wrap;gap:8px 12px}
 .ocean-copy .hero-actions{flex-wrap:wrap}
 .ocean-copy .btn,.btn,.sts-erpm .em-btn{font-size:.94rem;padding:12px 17px;min-height:50px}
 .ocean-intro,.page-hero .lead,.belief-strip p{font-size:1rem}
 .art-topline,.capability-ribbon .container,.illustration-label{font-size:.68rem;letter-spacing:.025em}
 .ocean-art{min-height:370px}
 .system-step small{font-size:.83rem}
 .system-step strong{font-size:.94rem}
 .section-browser-nav{padding-block:10px}
 .section-browser-label{font-size:.69rem;margin-bottom:7px}
 .section-tablist{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--primary) var(--line);padding-bottom:5px;max-width:100%}
 .section-tab{flex-shrink:0;white-space:nowrap;font-size:.89rem;padding:10px 13px;min-height:44px}
 .section-panel>.section,.section-panel>.section-sm,.section-panel>.em-section{padding-block:30px}
 .module-browser{display:block}
 .module-browser>.section-browser-nav{margin-bottom:20px;padding:12px}
 .module-browser .section-tablist{display:flex}
 .module-browser .section-tab{width:auto}
 .module-browser .section-browser-label{margin:0 0 9px}
 .solution-tab,.sts-erpm .em-filter button{font-size:.89rem;min-height:44px}
 .field label{font-size:.9rem}
 .sts-erpm .em-flow-board{padding:18px}
 .sts-erpm .em-board-top strong{font-size:1rem}
 .sts-erpm .em-board-top small,.sts-erpm .em-flow-row small,.sts-erpm .em-board-caption{font-size:.85rem}
 .sts-erpm .em-live-label{font-size:.6rem}
 .sts-erpm .em-checks{font-size:.83rem}
 .footer a:not(.brand){font-size:.89rem}
 .brand-incubation .eyebrow{font-size:.67rem}
 .incubation-note{font-size:.8rem}
 #stsErpLightbox .em-lb-head strong,#siteGalleryLightbox .em-lb-head strong{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .motion-item,.motion-item.in-view,.panel-enter{opacity:1!important;transform:none!important}
}
