/* S.ON identity v1.0. Official artwork is kept intact in assets/brand.
   Scope UI tokens to institutional surfaces; partner landing palettes remain theirs. */
:root{--son-black:#191b21;--son-yellow:#f9e458;--son-graphite:#30343e;--son-gray:#545a64;--son-white:#fff;--son-line:#dedfdf;--son-surface:#f6f6f4}
body:is(.so-public-home,.so-public-license,.so-auth-page,.so-affiliate-campaign,.so-public-shell,.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace){--so-blue:var(--son-black);--so-blue-dark:var(--son-graphite);--so-yellow:var(--son-yellow);--so-primary:var(--son-black);--so-accent:var(--son-yellow);--so-ink:var(--son-black);--so-muted:var(--son-gray);--so-surface:var(--son-surface);--so-line:var(--son-line);--so-aff-primary:var(--son-black);--so-aff-primary-deep:var(--son-graphite);--so-aff-ink:var(--son-black);--so-aff-muted:var(--son-gray);--so-aff-surface:var(--son-surface);--so-aff-line:var(--son-line);--so-ws-ink:var(--son-black);--so-ws-muted:var(--son-gray);--so-ws-line:var(--son-line);--ac-blue:var(--son-black);--ac-ink:var(--son-black);--ac-muted:var(--son-gray);--ac-lime:var(--son-yellow)}
/* Full lettering needs 180px; rail uses the eye instead of reduced text. */
body:is(.so-auth-page,.so-public-license,.so-affiliate-campaign) :is(.so-entry-logo,.ac-logo) img{width:180px;max-width:none;height:auto;filter:none}
body :is(.so-app-brand,.so-affiliate-brand,.so-workspace-brand)>img{width:184px!important;height:auto!important;max-height:none;filter:none}
body :is(.so-app-brand,.so-affiliate-brand) small{color:var(--son-yellow)!important}
body:is(.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace) [data-so-sidebar]{background:var(--son-black);box-shadow:none;color:#fff}
body [data-so-sidebar] :is(nav a,.so-sidebar-bottom a){color:#e4e5e6}
body [data-so-sidebar] :is(nav a,.so-sidebar-bottom a):hover{background:var(--son-graphite);color:#fff}
body [data-so-sidebar] :is(nav a.is-active,nav a.is-current,nav a[aria-current=page]){background:var(--son-yellow);color:var(--son-black);border-color:var(--son-yellow);box-shadow:none}
body [data-so-sidebar] :is(nav a.is-active,nav a.is-current,nav a[aria-current=page]) .dashicons{color:inherit!important}
body.so-sidebar-compact .so-sidebar-mark{width:44px;height:44px;background:#fff;border-radius:10px}
body.so-sidebar-compact .so-sidebar-mark img{display:block!important;width:32px!important;height:32px!important;max-width:none;margin:0!important}
body .so-topbar-user .so-topbar-user__initials{background:#edeeea;color:var(--son-black)}
body .so-sidebar-tooltip{background:var(--son-graphite);color:#fff}
body:is(.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace) :is(.button-primary,.so-dashboard__hero>a,.so-affiliate-dashboard__catalog,.so-affiliate-dashboard__payment-form button){background:var(--son-black)!important;border-color:var(--son-black)!important;color:#fff!important;text-shadow:none;box-shadow:none}
body:is(.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace) :is(.button-primary,.so-dashboard__hero>a,.so-affiliate-dashboard__catalog,.so-affiliate-dashboard__payment-form button):hover{background:var(--son-graphite)!important;border-color:var(--son-graphite)!important}
body:is(.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace) :is(.so-dashboard__hero,.so-manager-page-summary){background:var(--son-black)}
body:is(.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace) :is(.so-dashboard__hero,.so-manager-page-summary) .button-primary{background:var(--son-yellow)!important;border-color:var(--son-yellow)!important;color:var(--son-black)!important}
body:is(.so-partner-area,.so-affiliate-area,.so-fullscreen-workspace) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--son-black);outline-offset:3px;box-shadow:0 0 0 5px var(--son-yellow)}
body [data-so-sidebar] :is(a,button,input):focus-visible{outline-color:var(--son-yellow);box-shadow:none}
body:is(.so-auth-page,.so-public-license,.so-affiliate-campaign,.so-public-shell) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--son-black);outline-offset:3px;box-shadow:0 0 0 5px var(--son-yellow)}
body :is(.so-join-story,.so-access-shell) :is(a,button):focus-visible{outline-color:var(--son-yellow);box-shadow:none}
/* A quiet, neutral photograph supports the complete official signature. */
body.so-public-home,.so-neutral-home{background:var(--son-black)}
.so-neutral-home__background{filter:grayscale(1);opacity:.28}
.so-neutral-home__shade{background:linear-gradient(180deg,#191b2166,#191b21d9)}
.so-neutral-home__content{gap:30px;max-width:900px}
.so-home-signature{display:block;width:560px;max-width:100%;padding:20px;background:#fff;border-radius:18px}
.so-home-signature .so-neutral-home__logo{display:block;width:100%;height:auto;filter:none}
.so-neutral-home h1{max-width:790px;font-size:clamp(30px,4vw,52px);text-shadow:none}
.so-neutral-home p{color:#dedfdf}
.so-neutral-home__footer{background:#191b21e6;border-color:#ffffff26}
.so-neutral-home__footer-base small{color:#c0c3c7}
.so-neutral-home__nav a{color:#fff;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.so-neutral-home__nav a:hover{color:var(--son-yellow)}
.so-neutral-home__nav a:focus-visible{outline:3px solid var(--son-yellow);outline-offset:-4px}
/* The supporting signature has a white reserve and at least 400px of artwork. */
.so-login-page .so-join-story{background:var(--son-black)}
.so-login-page .so-welcome-art picture{display:block;width:440px;max-width:100%;padding:20px;background:#fff;border-radius:16px}
.so-login-page .so-welcome-art img{display:block;width:100%;height:auto;max-width:none;filter:none}
.so-login-page .so-join-story .so-entry-logo img{width:200px}
body.login{--so-login-blue:var(--son-black);--so-login-ink:var(--son-black);--so-login-muted:var(--son-gray);--so-login-line:var(--son-line);--so-login-bg:var(--son-surface);--so-login-yellow:var(--son-yellow);background:var(--son-surface)}
body.login:before{background:var(--son-yellow)}
.login h1{background:var(--son-black)}
.login .button-primary:hover,.login .button-primary:focus{background:var(--son-graphite);border-color:var(--son-graphite)}
.login :is(a,button,input):focus-visible{outline:2px solid var(--son-black);outline-offset:3px;box-shadow:0 0 0 5px var(--son-yellow)}
.so-public-shell__brand img{display:block;width:220px;height:auto}
/* Public catalogue keeps administrator logos and semantic status colors. */
.so-book-public{background:var(--son-black)}
.so-book-public :is(.so-book-intro,.so-book-process,.so-book-faq,.so-book-footer){background:var(--son-black);border-color:#545a64}
.so-book-public :is(.so-book-intro h1 span,.so-book-kicker){color:var(--son-yellow)}
.so-book-public :is(.so-book-intro__text,.so-book-process__heading>p:last-child,.so-book-faq>div>p:last-child){color:#dedfdf}
.so-book-public .so-book-steps li{background:var(--son-graphite);border-color:var(--son-gray)}
.so-book-public .so-book-cta{background:var(--son-yellow);color:var(--son-black);box-shadow:none}
.so-book-public .so-book-cta:hover{background:#fff0a1}
.so-book-public :is(.so-book-brand,.so-book-footer__brand) img{width:200px;height:auto;filter:none}
@media(max-width:1300px){.so-login-page .so-welcome-art picture{width:96px;padding:12px;border-radius:14px}.so-login-page .so-welcome-art img{width:72px;height:72px}}
@media(max-width:599px),(max-height:639px){.so-home-signature{width:310px;padding:20px 24px;border-radius:12px}.so-neutral-home__content{gap:24px}}
@media(max-width:600px){.ac-header__inner{flex-wrap:wrap;padding-block:16px;gap:12px}.ac-header nav{gap:16px;margin-left:auto}}
@media(max-width:380px){.so-access-header{align-items:flex-start;gap:8px}.so-back-login{max-width:80px;font-size:11px}.so-login-page .so-join-story{grid-template-columns:minmax(0,1fr) 48px;padding:20px;gap:12px}.so-login-page .so-welcome-art picture{width:48px;padding:4px}.so-login-page .so-welcome-art img{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.so-neutral-home__background,.so-neutral-home__content{animation:none}}

/* Supplied S.ON pose bank: decorative support on light, separate from signatures. */
.so-son-pose{display:block;width:220px;max-width:100%;margin:24px auto;padding:12px;background:#fff;border-radius:16px}
.so-son-pose img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none;transform:none}
.so-license-price .so-son-pose--license{position:relative;z-index:1;width:240px;margin:0 auto 24px;padding:16px}
.so-invitation-entry .so-son-pose--invitation{width:220px;margin:0 auto 20px;padding:0}
.so-public-shell .so-son-pose--return{width:200px;margin:24px auto 20px;padding:0}
.so-public-shell .so-son-pose--return+.so-public-shell__eyebrow{margin-top:0}
.so-login-page .so-welcome-art--reception picture{width:clamp(240px,35vh,340px);max-width:100%;padding:24px;border-radius:18px;background:#fff}
.so-login-page .so-welcome-art--reception img{display:block;width:100%;height:auto;max-width:none;filter:none;transform:none}
@media(max-width:920px),(max-height:600px){.so-login-page .so-welcome-art--reception picture{width:96px;padding:12px;border-radius:14px}.so-login-page .so-welcome-art--reception img{width:72px;height:72px}}
@media(max-width:380px){.so-login-page .so-welcome-art--reception picture{width:48px;padding:4px}.so-login-page .so-welcome-art--reception img{width:40px;height:40px}}
@media(max-width:560px){.so-license-price .so-son-pose--license{width:210px;padding:12px;margin-bottom:20px}.so-public-shell .so-son-pose--return{width:170px;margin:20px auto 16px}.so-invitation-entry .so-son-pose--invitation{width:180px}}

.so-partner-register-page .so-son-pose--register{width:220px;margin:0 0 24px;padding:12px}
@media(max-width:920px),(max-height:640px){.so-partner-register-page .so-son-pose--register{display:none}}
