/* SAS Family shared layer 2.1.0 - identical on every SAS Enterprises site.
   Everything here is zero-specificity (:where) or namespaced (.sasf), so each theme keeps its own look.
   Themes read the tokens; they set --sasf-* to recolour the family strip. */
:root{
  --sf-1:.25rem;--sf-2:.5rem;--sf-3:.75rem;--sf-4:1rem;--sf-5:1.5rem;--sf-6:2rem;--sf-7:3rem;--sf-8:4rem;--sf-9:6rem;
  --sf-text-sm:.875rem;--sf-text:clamp(1rem,.97rem + .15vw,1.0625rem);--sf-text-lg:clamp(1.125rem,1.06rem + .3vw,1.25rem);
  --sf-h4:clamp(1.125rem,1.05rem + .35vw,1.3125rem);--sf-h3:clamp(1.3rem,1.15rem + .7vw,1.65rem);
  --sf-h2:clamp(1.65rem,1.3rem + 1.6vw,2.5rem);--sf-h1:clamp(2.1rem,1.45rem + 3vw,3.75rem);
  --sf-section:clamp(3rem,2rem + 5vw,6rem);--sf-gutter:clamp(1rem,.5rem + 2.5vw,2rem);
  --sf-radius:10px;--sf-tap:44px;--sf-focus:#3b82f6;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:where(body){overflow-wrap:break-word}
:where(img,video,canvas,svg,iframe){max-width:100%}
:where(img,video){height:auto}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--sf-focus);outline-offset:2px}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font:inherit;font-size:max(16px,1em);max-width:100%}
:where(button,[type=submit],[type=button]){font:inherit;touch-action:manipulation}
:where(table){max-width:100%}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* The family strip */
.sasf{background:var(--sasf-bg,#0e1626);color:var(--sasf-fg,#e8ecf3);border-top:1px solid var(--sasf-line,rgba(255,255,255,.12));font:500 .8125rem/1.3 var(--sasf-font,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif);letter-spacing:.01em}
.sasf__in{max-width:var(--sasf-wrap,1240px);margin:0 auto;padding:.875rem var(--sf-gutter);display:flex;align-items:center;gap:.75rem 1.5rem;flex-wrap:wrap}
.sasf__parent{display:inline-flex;align-items:center;gap:.625rem;margin:0;color:inherit;text-decoration:none;min-height:var(--sf-tap);flex:none}
.sasf__parent strong{color:var(--sasf-accent,#e6c777);font-weight:700}
.sasf__parent img,.sasf__list img{display:block;border-radius:50%;flex:none}
.sasf__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .375rem;flex:1 1 320px;justify-content:flex-end}
.sasf__list li{margin:0;padding:0}
.sasf__list li::before,.sasf__list li::marker{content:none}
.sasf__list a{display:inline-flex;align-items:center;gap:.4375rem;min-height:var(--sf-tap);padding:.25rem .625rem .25rem .3125rem;border-radius:999px;color:var(--sasf-muted,rgba(232,236,243,.78));text-decoration:none;transition:background-color .15s,color .15s}
.sasf__list a:hover,.sasf__list a:focus-visible{background:var(--sasf-hover,rgba(255,255,255,.09));color:var(--sasf-fg,#fff)}
.sasf a:focus-visible{outline:3px solid var(--sasf-accent,#e6c777);outline-offset:2px}
@media (max-width:900px){
  .sasf__in{justify-content:center;text-align:center}
  .sasf__list{justify-content:center;flex-basis:100%;gap:.125rem}
  .sasf__list a{padding:.375rem;min-width:var(--sf-tap);justify-content:center}
  .sasf__list img{width:32px;height:32px}
  .sasf__list span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
}
@media print{.sasf{display:none}}
