/* Shared editorial theme for the standalone SalesOut academy. */
body.so-academy-public {
  --academy-ink:#173f31; --academy-muted:#56645c; --academy-line:#d9dfd6;
  --academy-paper:#faf8f3; --academy-card:#fffefa; --academy-green:#173f31;
  --academy-green-2:#285841; --academy-gold:#dfbb45; --academy-gold-2:#edcb60;
  --academy-shadow:none; --ink:#173f31; --muted:#56645c; --cream:#faf8f3; --line:#d9dfd6;
  background:#faf8f3; color:#173f31; font-family:Inter,system-ui,sans-serif;
}
.so-academy-public :is(h1,h2,h3,h4) { font-family:Outfit,Inter,sans-serif; font-weight:600; letter-spacing:-.035em; }
.so-academy-public h1 { line-height:1.06; }
.so-academy-public :is(a,button,input,summary):focus-visible { outline:3px solid #806514; outline-offset:4px; }
.so-academy-public :is(header,.topbar) { background:#faf8f3; color:#173f31; border-bottom:1px solid #d9dfd6; box-shadow:none; }
.so-academy-public :is(.logo,.brand,.logo-text,.header-links a,.back,.topbar h1) { color:#173f31; }
.so-academy-public :is(.logo-sub,.logo span,.header-links a,.logo .s) { color:#56645c; }
.so-academy-public .header-links a { display:inline-flex; align-items:center; min-height:44px; }
.so-academy-public :is(.logo-icon,.brand-mark,.sidebar-logo .icon) { background:#173f31; color:#fffefa; border-radius:6px; box-shadow:none; }
.so-academy-public :is(.hero,.academy-hero,.training-hero) { background:#faf8f3; color:#173f31; border-radius:0; box-shadow:none; }
.so-academy-public :is(.academy-hero,.training-hero) { padding:42px 0; }
.so-academy-public :is(.academy-hero,.training-hero)::after { display:none; }
.so-academy-public :is(.hero h1,.hero h1 span,.academy-hero h1,.training-hero h1) { color:#173f31; }
.so-academy-public :is(.hero p,.academy-hero p,.training-hero p) { color:#56645c; }
.so-academy-public :is(.eyebrow,.header-badge,.role-badge) { background:#e9edde; color:#455c40; border-color:#d1dcc7; border-radius:4px; font-size:11px; letter-spacing:.05em; }
.so-academy-public :is(.training-panel,.role-card,.path-card,.module-card,.scenario-card,.coach-card,.evidence-card,.certificate-panel) { background:#fffefa!important; border:1px solid #d9dfd6!important; border-radius:8px; box-shadow:none; }
.so-academy-public .role-card :is(h2,p) { color:#173f31!important; }
.so-academy-public :is(.role-icon,.path-icon) { background:#e9edde!important; border-radius:6px; }
.so-academy-public :is(.academy-btn,.btn-manual,.button) { border-radius:6px; min-height:44px; box-shadow:none; font-weight:600; transition:background .15s; }
.so-academy-public :is(.academy-btn.primary,.academy-btn.dark,.btn-manual,.button) { background:#173f31!important; color:#fffefa!important; border-color:#173f31; }
.so-academy-public :is(.academy-btn.secondary,.button.ghost) { background:transparent; color:#173f31; border:1px solid #aab7aa; }
.so-academy-public :is(.academy-btn,.btn-manual,.button):hover { transform:none; filter:brightness(1.08); }
.so-academy-public :is(.training-stat,.pill,.path-time,.tag) { background:#e9edde; color:#455c40; border-color:#d1dcc7; border-radius:4px; }
.so-academy-public :is(.visual-frame,.image-card,.screenshot,.screenshot-wrap) { border-radius:8px; border-color:#d9dfd6; box-shadow:none; }
.so-academy-public :is(.visual-caption,.caption) { color:#56645c; background:#f0f2e9; border-color:#d9dfd6; }
.so-academy-public .sidebar { background:#f0f2e9; border-right:1px solid #d1dac8; color:#173f31; }
.so-academy-public :is(.sidebar-logo .t,.sidebar-back,.nav-item) { color:#173f31; }
.so-academy-public :is(.sidebar-logo .s,.nav-section) { color:#56645c; }
.so-academy-public .sidebar-back { min-height:44px; }
.so-academy-public .nav-item { min-height:40px; }
.so-academy-public .nav-item.active { background:#dce6d1; color:#173f31; border-color:#56744e; }
.so-academy-public .nav-item:hover { background:#e3eadd; color:#173f31; }
.so-academy-public .section { border-radius:8px; box-shadow:none; border-color:#d9dfd6; }
.so-academy-public .section-icon { background:#e9edde; border-radius:6px; }
.so-academy-public .step-num { background:#173f31; color:#fffefa; border-radius:5px; }
.so-academy-public .hero+.content { margin-top:0; padding-top:35px; }
.so-academy-public footer { background:#112f24; color:#d4ddcf; border-top:0; }
@media(max-width:680px) {
 .so-academy-public :is(.academy-hero,.training-hero) { padding:28px 0; }
 .so-academy-public :is(.hero h1,.academy-hero h1,.training-hero h1) { font-size:36px; }
 .so-academy-public .header-links { gap:14px; }
 .so-academy-public .section { padding:22px 18px; }
 .so-academy-public .role-card h2 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { .so-academy-public * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Keep wide training tables and long example URLs inside their own surface. */
.so-academy-public :is(.main,.content,.training-panel,.certificate-panel,.visual-frame,.screenshot,.screenshot-wrap) { min-width:0; }
.so-academy-public img { max-width:100%; }
.so-academy-public :is(.screenshot-url,code) { min-width:0; overflow-wrap:anywhere; white-space:normal; }
.so-academy-public pre { max-width:100%; overflow-x:auto; }
.so-academy-public table { display:block; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
@media(max-width:680px) {
 .so-academy-public .topbar { flex-wrap:wrap; gap:12px; }
 .so-academy-public .topbar h1 { font-size:22px; }
}
.so-academy-public { --purpura:#173f31; --purpura-bg:#e9edde; }
.so-academy-public :is(.step-body,.section-header>div:last-child) { min-width:0; overflow-wrap:anywhere; }
.so-academy-public .flow-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); }
@media(max-width:820px) {
 body.so-academy-public { display:block; }
 .so-academy-public .sidebar { position:static; display:flex; width:100%; height:auto; max-height:none; }
 .so-academy-public .sidebar nav { display:flex; flex-wrap:nowrap; gap:6px; padding:10px 16px; overflow-x:auto; max-width:100%; }
 .so-academy-public .sidebar .nav-section { display:none; }
 .so-academy-public .sidebar .nav-item { white-space:nowrap; padding:10px 14px; border:1px solid #cbd5c5; border-radius:5px; min-height:44px; flex:none; }
 .so-academy-public .main { margin-left:0; width:100%; }
 .so-academy-public .content { padding:24px 16px; }
 .so-academy-public .topbar { padding:16px; }
 .so-academy-public .section { padding:20px 0; }
}
@media print {
 .so-academy-public :is(.sidebar,header,.topbar) { display:none!important; }
 .so-academy-public .main { margin:0; width:100%; }
 .so-academy-public table { display:table; overflow:visible; }
}
