/* Streamlogix 1.2 — editorial pages, native enhancement, no UI framework. */
body.slx-site { --ink:#102d43; --paper:#f4f7f7; --accent:#0874ae; }
body.slx-site h1, body.slx-site h2, body.slx-site h3 { text-wrap:balance; }
body.slx-site p { text-wrap:pretty; }
body.slx-site :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #0874ae; outline-offset:5px; }
body.slx-site [hidden] { display:none !important; }
body.slx-site main { overflow:clip; }
body.slx-site .slx-editorial-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(40px,7vw,108px); align-items:center; padding-block:clamp(64px,8vw,112px); }
body.slx-site .slx-editorial-hero > *,body.slx-site .slx-editorial-split > * { min-width:0; }
body.slx-site .slx-editorial-masthead { padding:0; }
body.slx-site .slx-editorial-hero h1 { font-size:clamp(42px,5.6vw,76px); line-height:1.04; letter-spacing:-.055em; margin:22px 0 28px; max-width:830px; }
body.slx-site .slx-editorial-intro { color:var(--muted); font-size:clamp(17px,1.65vw,20px); max-width:620px; line-height:1.75; }
body.slx-site .slx-editorial-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 25px; margin-top:32px; }
body.slx-site .slx-editorial-actions .slx-text-link { display:inline-flex; min-height:44px; align-items:center; }
body.slx-site .slx-editorial-nav { display:flex; flex-wrap:wrap; gap:10px 32px; border-block:1px solid var(--line); padding-block:20px; }
body.slx-site .slx-editorial-nav a { display:inline-flex; align-items:center; gap:18px; min-height:32px; font-size:13px; font-weight:650; color:var(--navy); }
body.slx-site .slx-editorial-nav a::after { content:'↗'; font-size:18px; color:var(--accent); }
body.slx-site .slx-editorial-nav a:hover { color:var(--accent); }
body.slx-site .slx-editorial-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(36px,7vw,110px); align-items:start; }
body.slx-site .slx-editorial-heading h2 { margin:17px 0 23px; max-width:470px; font-size:clamp(32px,3.4vw,48px); }
body.slx-site .slx-editorial-heading > p { color:var(--muted); max-width:430px; }
body.slx-site .slx-editorial-copy { color:var(--muted); font-size:17px; line-height:1.85; }
body.slx-site .slx-editorial-copy > p { max-width:690px; margin:0 0 20px; }
body.slx-site .slx-editorial-copy > p:last-child { margin-bottom:0; }
body.slx-site .slx-editorial-rows { border-top:1px solid var(--line); }
body.slx-site .slx-editorial-row { display:grid; grid-template-columns:35px minmax(0,1fr); gap:24px; padding:29px 0; border-bottom:1px solid var(--line); }
body.slx-site .slx-editorial-row > span:first-child { color:var(--accent); font-size:12px; font-variant-numeric:tabular-nums; padding-top:4px; }
body.slx-site .slx-editorial-row h3 { font-size:21px; line-height:1.3; letter-spacing:-.025em; margin:0 0 11px; }
body.slx-site .slx-editorial-row p { color:var(--muted); font-size:14px; line-height:1.8; margin:0; }
body.slx-site .slx-editorial-note { padding:clamp(26px,3.2vw,44px); background:#edf4f8; border-inline-start:3px solid var(--accent); }
body.slx-site .slx-editorial-note h2,body.slx-site .slx-editorial-note h3 { font-size:25px; margin:0 0 16px; }
body.slx-site .slx-editorial-note p { color:var(--muted); font-size:15px; }
body.slx-site .slx-editorial-note p:last-child { margin-bottom:0; }
body.slx-site .slx-editorial-statement { background:var(--navy-deep); color:#fff; padding-block:clamp(58px,7vw,98px); }
body.slx-site .slx-editorial-statement h2 { color:#fff; font-size:clamp(34px,4.7vw,64px); max-width:950px; margin:16px 0 24px; }
body.slx-site .slx-editorial-statement p { color:#c7dae7; max-width:650px; font-size:17px; margin:0; }
body.slx-site .slx-editorial-photo { margin:0; }
body.slx-site .slx-editorial-photo img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:3px; }
body.slx-site .slx-editorial-photo figcaption { color:var(--muted); font-size:11px; line-height:1.7; margin-top:14px; }
body.slx-site .slx-editorial-facts { margin:0; }
body.slx-site .slx-editorial-facts > div { border-bottom:1px solid var(--line); padding:20px 0; }
body.slx-site .slx-editorial-facts dt { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:650; }
body.slx-site .slx-editorial-facts dd { margin:7px 0 0; color:var(--navy); font-size:17px; line-height:1.55; }
body.slx-site .slx-editorial-cta { padding-block:64px; background:#edf4f8; }
body.slx-site .slx-editorial-cta .slx-container { display:flex; justify-content:space-between; align-items:center; gap:36px; }
body.slx-site .slx-editorial-cta h2 { margin:0 0 13px; font-size:clamp(30px,3.5vw,46px); }
body.slx-site .slx-editorial-cta p { color:var(--muted); max-width:620px; margin:0; }
body.slx-site .slx-editorial-cta .slx-button { flex-shrink:0; }
body.slx-site .slx-company .slx-editorial-hero { grid-template-columns:1.1fr .9fr; }
body.slx-site .slx-company .slx-editorial-photo { position:relative; padding:0 0 24px 24px; }
body.slx-site .slx-company .slx-editorial-photo::before { content:''; position:absolute; inset:24px 24px 0 0; background:#e4f1f8; z-index:-1; }
body.slx-site .slx-company .slx-editorial-photo img { aspect-ratio:1.03; object-position:65% 50%; }
body.slx-site .slx-company .slx-editorial-photo img.slx-company-managed-image { aspect-ratio:auto; height:auto; object-fit:contain; object-position:center; }
body.slx-site .slx-about .slx-editorial-hero { align-items:start; }
body.slx-site .slx-about .slx-editorial-aside { margin-top:28px; padding:32px; background:var(--paper); border-top:3px solid #29a5df; }
body.slx-site .slx-careers .slx-editorial-hero { align-items:start; }
body.slx-site .slx-careers .slx-editorial-aside { padding:clamp(28px,3.5vw,46px); background:var(--navy-deep); color:#fff; }
body.slx-site .slx-careers .slx-editorial-aside :is(h2,h3) { color:#fff; font-size:26px; margin:14px 0 22px; }
body.slx-site .slx-careers .slx-editorial-aside p { color:#c7d9e6; font-size:14px; }
body.slx-site .slx-careers .slx-editorial-aside ul { padding-left:19px; margin:22px 0 0; color:#d4e2eb; font-size:14px; }
body.slx-site .slx-careers .slx-editorial-aside li { padding:9px 0; }
body.slx-site .slx-careers .slx-editorial-aside a { color:#fff; text-decoration:underline; text-underline-offset:4px; }
body.slx-site .slx-editorial-list { padding:0; margin:0; list-style:none; }
body.slx-site .slx-editorial-list li { position:relative; padding:14px 0 14px 24px; border-bottom:1px solid var(--line); font-size:15px; color:var(--muted); }
body.slx-site .slx-editorial-list li::before { content:'+'; position:absolute; left:0; color:var(--accent); }
body.slx-site .slx-editorial-quiet { background:var(--paper); }
body.slx-site .slx-editorial-tint { background:var(--paper); }
body.slx-site .slx-editorial-nav > .slx-container { display:flex; flex-wrap:wrap; align-items:center; gap:10px 32px; }
body.slx-site .slx-editorial-nav > .slx-container > span { color:var(--muted); font-size:11px; margin-right:15px; }
body.slx-site .slx-editorial-process { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
body.slx-site .slx-editorial-process > li { padding:30px 35px 0 0; }
body.slx-site .slx-editorial-process > li + li { border-left:1px solid var(--line); padding-left:35px; }
body.slx-site .slx-editorial-process > li > span { display:inline-block; margin-bottom:23px; font-size:12px; color:var(--accent); }
body.slx-site .slx-editorial-process h3 { font-size:23px; margin:0 0 16px; }
body.slx-site .slx-editorial-process p { color:var(--muted); font-size:14px; margin:0; }
body.slx-site .slx-editorial-process + .slx-editorial-note { margin-top:45px; }
body.slx-site .slx-editorial-copy .slx-editorial-note { margin-top:32px; }
body.slx-site .slx-editorial-route-list { border-top:1px solid var(--line); }
body.slx-site .slx-editorial-route-list > a { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:30px 0; border-bottom:1px solid var(--line); color:var(--navy); }
body.slx-site .slx-editorial-route-list strong { display:block; font-size:clamp(23px,3vw,34px); letter-spacing:-.035em; font-weight:700; margin-bottom:8px; }
body.slx-site .slx-editorial-route-list > a > span > span { font-size:15px; color:var(--muted); }
body.slx-site .slx-editorial-route-list > a > span:last-child { font-size:30px; color:var(--accent); }
body.slx-site .slx-editorial-route-list > a:hover strong { color:var(--accent); }
body.slx-site .slx-editorial-cta.slx-cta-section { background:#123a55; }
body.slx-site .slx-editorial-cta.slx-cta-section h2 { color:#fff; }
body.slx-site .slx-editorial-cta.slx-cta-section p { color:#c6dce9; }
body.slx-site .slx-careers-brief .slx-overline { color:#8dcef1; }
body.slx-site .slx-about-profile h2 { font-size:29px; margin:17px 0 16px; }
body.slx-site .slx-about-profile > p { font-size:14px; color:var(--muted); }
body.slx-site .slx-company .slx-editorial-photo { isolation:isolate; }

/* Course catalogue: persistent context and a quiet, searchable index. */
body.slx-site .slx-training-page .slx-course-intro { margin:0; max-width:none; padding-block:80px; background:#f5f8f8; border-bottom:1px solid var(--line); }
body.slx-site .slx-training-page .slx-course-hero { grid-template-columns:1.2fr .8fr; gap:80px; }
body.slx-site .slx-training-page .slx-course-hero h1 { font-size:clamp(42px,5.4vw,74px); margin:22px 0 27px; line-height:1.06; }
body.slx-site .slx-training-page .slx-course-hero .slx-lead { font-size:18px; line-height:1.8; }
body.slx-site .slx-training-page .slx-course-photo img { aspect-ratio:4/5; object-position:center; }
body.slx-site .slx-training-band { background:#fff; }
body.slx-site .slx-training-band > .slx-container > span { display:flex; align-items:center; gap:12px; }
body.slx-site .slx-training-band > .slx-container > span::before { content:''; width:5px; height:5px; background:var(--accent); border-radius:50%; flex-shrink:0; }
body.slx-site .slx-catalogue { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(36px,6.5vw,94px); align-items:start; }
body.slx-site .slx-catalogue-aside { position:sticky; top:128px; }
body.slx-site .slx-catalogue-aside h2 { margin:17px 0 23px; font-size:clamp(32px,3.1vw,44px); }
body.slx-site .slx-catalogue-aside p { color:var(--muted); font-size:15px; max-width:340px; }
body.slx-site .slx-catalogue-tip { border-top:1px solid var(--line); margin-top:32px; padding-top:25px; }
body.slx-site .slx-catalogue-tip .slx-text-link { display:inline-flex; align-items:center; min-height:44px; }
body.slx-site .slx-catalogue-results { min-width:0; container-type:inline-size; }
body.slx-site .slx-catalogue-tools { margin-bottom:25px; }
body.slx-site .slx-catalogue-tools label { display:block; color:var(--navy); font-weight:650; font-size:13px; margin-bottom:9px; }
body.slx-site .slx-catalogue-tools input { width:100%; min-height:52px; border:1px solid #b9cdd9; border-radius:3px; padding:13px 17px; color:var(--navy); font:inherit; background:#fff; box-sizing:border-box; }
body.slx-site .slx-catalogue-count { margin:11px 0 0; color:var(--muted); font-size:12px; min-height:21px; }
body.slx-site .slx-training-page .slx-course-row { grid-template-columns:28px minmax(0,1fr) 44px; padding:30px 0; gap:16px; transition:background-color .18s; }
body.slx-site .slx-training-page .slx-course-row:hover { background:#f7fafc; }
body.slx-site .slx-training-page .slx-course-row h3 { font-size:clamp(23px,2.6vw,31px); }
body.slx-site .slx-training-page .slx-course-row p { font-size:14px; max-width:530px; }
body.slx-site .slx-training-page .slx-course-link { border:1px solid #ccdde7; border-radius:50%; width:44px; height:44px; padding:0; font-size:23px; }
body.slx-site .slx-training-page .slx-link-label { display:none; }
body.slx-site .slx-training-page .slx-course-link:hover { background:var(--navy); border-color:var(--navy); color:#fff; }
body.slx-site .slx-catalogue-empty { padding:32px 0; color:var(--muted); }
body.slx-site .slx-catalogue-empty a { text-decoration:underline; color:var(--accent); }
body.slx-site .slx-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:30px; padding-right:0; }
body.slx-site .slx-faq summary::-webkit-details-marker { display:none; }
body.slx-site .slx-faq summary::after { content:'+'; font-size:24px; font-weight:400; color:var(--accent); flex:0 0 auto; }
body.slx-site .slx-faq details[open] summary::after { content:'−'; }
body.slx-site .slx-training-process .slx-steps > article > span { display:inline-block; color:var(--accent); font-size:12px; margin-bottom:22px; }
@container (max-width:420px) {
  body.slx-site .slx-training-page .slx-course-row { grid-template-columns:23px minmax(0,1fr) 42px; gap:10px; }
  body.slx-site .slx-training-page .slx-course-row h3 { font-size:23px; }
}
@media (min-width:901px) {
  body.slx-site .slx-editorial-heading { position:sticky; top:128px; }
}
@media (max-width:1000px) {
  body.slx-site .slx-editorial-hero { gap:40px; grid-template-columns:1.15fr .85fr; }
  body.slx-site .slx-editorial-row { grid-template-columns:25px minmax(0,1fr); gap:12px 16px; }
  body.slx-site .slx-editorial-row p { grid-column:2; }
  body.slx-site .slx-training-page .slx-course-hero { gap:42px; }
}
@media (max-width:760px) {
  body.slx-site .slx-editorial-hero,body.slx-site .slx-company .slx-editorial-hero,body.slx-site .slx-editorial-split,body.slx-site .slx-catalogue,body.slx-site .slx-training-page .slx-course-hero { grid-template-columns:minmax(0,1fr); gap:36px; }
  body.slx-site .slx-editorial-hero { padding-block:57px; }
  body.slx-site .slx-editorial-hero h1 { font-size:clamp(39px,9vw,62px); }
  body.slx-site .slx-editorial-nav { gap:8px 23px; }
  body.slx-site .slx-editorial-nav > .slx-container { gap:8px 23px; }
  body.slx-site .slx-editorial-nav > .slx-container > span { flex-basis:100%; }
  body.slx-site .slx-editorial-process { grid-template-columns:minmax(0,1fr); }
  body.slx-site .slx-editorial-process > li,body.slx-site .slx-editorial-process > li + li { padding:26px 0; border-left:0; border-bottom:1px solid var(--line); }
  body.slx-site .slx-editorial-photo img,body.slx-site .slx-company .slx-editorial-photo img { aspect-ratio:1.6; }
  body.slx-site .slx-about .slx-editorial-aside { margin-top:0; }
  body.slx-site .slx-editorial-cta .slx-container { align-items:flex-start; flex-direction:column; }
  body.slx-site .slx-catalogue-aside { position:static; }
  body.slx-site .slx-catalogue-aside p { max-width:600px; }
  body.slx-site .slx-catalogue-tip { display:none; }
  body.slx-site .slx-training-page .slx-course-intro { padding-block:55px; }
  body.slx-site .slx-training-page .slx-course-photo img { aspect-ratio:1.8; }
  body.slx-site .slx-training-page .slx-course-hero h1 { font-size:clamp(39px,9vw,60px); }
  body.slx-site .slx-training-band>.slx-container { flex-wrap:wrap; gap:12px 25px; }
}
@media (max-width:420px) {
  body.slx-site .slx-editorial-actions { align-items:stretch; flex-direction:column; gap:13px; }
  body.slx-site .slx-editorial-actions .slx-button { justify-content:space-between; }
  body.slx-site .slx-editorial-row h3 { font-size:20px; }
}
/* Native effects are optional; the page never waits for JS to reveal content. */
@media (prefers-reduced-motion:no-preference) {
  @view-transition { navigation:auto; }
  ::view-transition-old(root),::view-transition-new(root) { animation-duration:.16s; }
  body.slx-site .slx-button,body.slx-site .slx-course-link { transition:background-color .18s,border-color .18s,color .18s; }
  body.slx-site .slx-text-link span { transition:translate .18s; }
  body.slx-site .slx-text-link:hover span { translate:4px 0; }
  @supports ((animation-timeline:scroll()) and (animation-range:0% 100%)) {
    body.slx-site::before { content:''; position:fixed; inset:0 0 auto; height:2px; z-index:99998; background:#28a7e1; transform-origin:left; pointer-events:none; animation:slx-reading-progress linear both; animation-timeline:scroll(root); animation-range:0% 100%; }
    body.admin-bar.slx-site::before { top:32px; }
  }
}
@keyframes slx-reading-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media (prefers-reduced-motion:reduce) {
  html:focus-within { scroll-behavior:auto; }
  body.slx-site .slx-card:hover { transform:none; }
}
@media (max-width:782px) { body.admin-bar.slx-site::before { top:46px; } }
