/* Live people, with the same quiet controls as the rest of Shieldman. */
.sm-availability{color:#18283b;font-family:Manrope,system-ui,sans-serif;min-width:0}
.sm-availability-site{max-width:1200px;margin:0 auto 96px;padding:36px 0 0;border-top:1px solid #d5e1ed;position:relative}
.sm-availability-site:before{content:"";position:absolute;top:-2px;left:0;width:180px;height:3px;background:linear-gradient(90deg,#315bff,#60d8ef,#b7f0d5);border-radius:3px}
.sm-availability .sm-availability-heading h2{font-family:"Bricolage Grotesque",Manrope,sans-serif;font-size:clamp(26px,3vw,38px);line-height:1.04;letter-spacing:-.045em;margin:0 0 12px;color:inherit}
.sm-availability .sm-availability-heading p{margin:0;color:#536477;font-size:14px;line-height:1.65;max-width:52ch}
.sm-availability .sm-availability-status{margin:24px 0 16px;font-size:13px;line-height:1.5;color:#536477;display:flex;align-items:center;gap:8px}
.sm-availability[data-state="ready"] .sm-availability-status{color:#24664a}
.sm-availability[data-state="ready"] .sm-availability-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#258357;box-shadow:0 0 0 4px #e3f6ed;flex:0 0 auto}
.sm-availability .sm-availability-live{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.sm-availability .sm-availability-live[hidden]{display:none}
.sm-availability .sm-availability-live li{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 0;font-size:13px;font-weight:650;line-height:1.45;color:inherit}
.sm-availability .sm-availability-live li>span:last-child{overflow-wrap:anywhere}
.sm-availability .sm-agent-avatar,.sm-availability .sm-availability-faces>span{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;border-radius:50%;background:#e9eef5;color:#8999ad}
.sm-availability .sm-agent-avatar img,.sm-availability .sm-availability-faces img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:inherit}
.sm-availability .sm-agent-avatar svg,.sm-availability .sm-availability-faces svg{display:block;width:76%;height:76%;align-self:flex-end;color:inherit;flex:0 0 auto;margin:0}
.sm-availability .sm-availability-roster{border-top:1px solid #d5e1ed}
.sm-availability .sm-availability-roster summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;gap:14px;padding:12px 0;font-size:13px;font-weight:650;color:inherit}
.sm-availability .sm-availability-roster summary::-webkit-details-marker{display:none}
.sm-availability .sm-availability-roster summary>span:last-child{margin-left:auto;font-size:24px;font-weight:400;transition:transform .18s ease}
.sm-availability .sm-availability-roster[open] summary>span:last-child{transform:rotate(45deg)}
.sm-availability .sm-availability-roster summary:focus-visible{outline:3px solid #315bff;outline-offset:4px;border-radius:4px}
.sm-availability .sm-availability-faces{display:flex;padding-left:0;flex-shrink:0}
.sm-availability .sm-availability-faces>span{width:32px;height:32px;margin-left:-9px;border:2px solid #fff;box-sizing:content-box}
.sm-availability .sm-availability-faces>span:first-child{margin-left:0}
.sm-availability .sm-availability-roster ul{list-style:none;padding:8px 0 20px;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 24px}
.sm-availability .sm-availability-roster li{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.4;min-width:0;color:inherit;padding:0;margin:0}
.sm-availability .sm-availability-roster li>span:last-child{overflow-wrap:anywhere}
.sm-availability .sm-availability-roster li .sm-agent-avatar{width:32px;height:32px}
.sm-availability-checkout{margin:30px 0 24px;padding:24px;background:#fff;border:1px solid #dce7ef;border-radius:14px}
.sm-availability.sm-availability-checkout .sm-availability-heading h2{font-size:24px;line-height:1.08;margin:0 0 8px}
.sm-availability.sm-availability-checkout .sm-availability-heading p{font-size:12px;line-height:1.6}
.sm-availability-checkout .sm-availability-status{margin:18px 0 12px;font-size:12px}
.sm-availability-checkout .sm-availability-live{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-bottom:12px}
.sm-availability-checkout .sm-availability-live li{font-size:12px;gap:8px;padding:6px 0}
.sm-availability-checkout .sm-availability-live .sm-agent-avatar{width:34px;height:34px}
.sm-availability-checkout .sm-availability-roster summary{font-size:12px;gap:10px;padding-bottom:0;min-height:52px}
.sm-availability-checkout .sm-availability-faces>span{width:26px;height:26px;margin-left:-10px}
.sm-availability-checkout .sm-availability-roster ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;padding-top:20px}
.sm-availability-checkout .sm-availability-roster li{font-size:11px;gap:7px}
.sm-availability-checkout .sm-availability-roster li .sm-agent-avatar{width:28px;height:28px}
.ssc-availability-staff{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:20px 24px;margin:0 0 24px;border:1px solid #d5e1ed;border-radius:12px;background:linear-gradient(115deg,#f1f6fc,#fff)}
.ssc-availability-staff>div{flex:1 1 260px}.ssc-availability-staff h2{font-size:20px;line-height:1.1;letter-spacing:-.025em;margin:0 0 7px}
.ssc-availability-staff p{font-size:12px;color:#536477;line-height:1.6;max-width:58ch;margin:0}
.ssc-availability-staff label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:600;cursor:pointer}
.ssc-availability-staff input[type=checkbox]{width:20px;height:20px;accent-color:#24664a;flex:0 0 auto}
.ssc-availability-staff input:focus-visible,.ssc-availability-admin select:focus-visible,.ssc-availability-admin summary:focus-visible{outline:3px solid #315bff;outline-offset:3px}
.ssc-availability-confirm{color:#24664a;font-size:13px;margin:-12px 0 20px}
.ssc-availability-admin .ssd-card__h{flex-wrap:wrap;gap:8px}.ssc-availability-admin .ssd-card__h>span{font-size:12px;color:#536477}
.ssc-availability-admin p{font-size:13px;line-height:1.65;color:#536477}
.ssc-availability-admin .ssc-staffing-target{padding:12px 14px;border-left:3px solid #af6b18;background:#fff7e9;color:#794810;border-radius:0 5px 5px 0}
.ssc-availability-admin summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600}
.ssc-availability-admin form{padding-top:16px}.ssc-availability-admin label{display:grid;gap:7px;font-size:12px;margin:0 0 14px}
.ssc-availability-admin select{background:#fff;color:#18283b;border:1px solid #c7d5e4;border-radius:6px;padding:10px;font:inherit;width:100%;min-height:44px}
@media(max-width:760px){.sm-availability-site{margin-bottom:60px;padding-top:28px}.sm-availability .sm-availability-live{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-availability .sm-availability-roster ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.ssc-availability-staff{padding:18px}.ssc-availability-staff>div{flex-basis:100%}}
@media(max-width:380px){.sm-availability-checkout{padding:18px}.sm-availability-checkout .sm-availability-roster ul{grid-template-columns:1fr}.sm-availability-checkout .sm-availability-faces>span:nth-child(n+3){display:none}}
@media(prefers-reduced-motion:reduce){.sm-availability .sm-availability-roster summary>span:last-child{transition:none}}
html[data-sm-motion="reduced"] .sm-availability .sm-availability-roster summary>span:last-child{transition:none}

/* A dedicated people section, directly connected to membership below. */
.sm-availability-wrap{position:relative;background:linear-gradient(180deg,#fff,#f0f6fc);padding:72px 0 32px}
.sm-availability-wrap .sm-availability-site{max-width:none;margin:0;padding:0;border:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:64px}
.sm-availability-wrap .sm-availability-site:before{display:none}
.sm-availability-site .sm-availability-heading h2{font-size:clamp(40px,4.5vw,60px);max-width:480px;margin-bottom:20px}
.sm-availability-site .sm-availability-heading>p{font-size:16px}
.sm-availability-portrait-line{display:flex;align-items:center;gap:0;margin:28px 0 19px;padding-left:0}
.sm-availability-portrait-line>span{display:flex;align-items:center;justify-content:center;width:78px;height:86px;flex:0 0 78px;border:5px solid #fff;border-radius:27px;background:#e0e8f2;color:#8b9fb7;overflow:hidden;margin-left:-13px;box-shadow:0 12px 25px -15px #294a7650;transform:rotate(6deg)}
.sm-availability-portrait-line>span:first-child{margin-left:0;transform:rotate(-8deg)}
.sm-availability-portrait-line>span:nth-child(3){transform:rotate(-5deg)}
.sm-availability-portrait-line img{width:100%;height:100%!important;object-fit:cover}
.sm-availability-portrait-line svg{width:80%;height:80%;align-self:flex-end}
.sm-availability-site .sm-availability-heading .sm-availability-intro{font-size:12px;max-width:300px;color:#61778c}
.sm-availability-site .sm-availability-board{padding:30px;background:#fffffff2;border:1px solid #d9e7f0;border-radius:24px;box-shadow:0 22px 48px -34px #234b7066;min-width:0}
.sm-availability-site .sm-availability-status{margin:0 0 22px;font-size:16px;line-height:1.6;color:#38536b}
.sm-availability-site[data-state=ready] .sm-availability-status{color:#226d4c;font-size:18px;font-weight:650}
.sm-availability-site .sm-availability-live{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sm-availability-site .sm-availability-live li{padding:12px;border:1px solid #d8eae1;border-radius:12px;background:#f3fbf7;font-size:12px;gap:9px}
.sm-availability-site .sm-availability-roster summary{padding-block:18px;min-height:65px;font-size:13px}
.sm-availability-site .sm-availability-roster[open] summary{padding-bottom:18px}
.sm-availability-site .sm-availability-roster ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding-bottom:3px}
.sm-availability-wrap+.sm-pricing{padding-top:36px}
@media(max-width:900px){.sm-availability-wrap .sm-availability-site{gap:30px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.sm-availability-site .sm-availability-board{padding:24px}.sm-availability-site .sm-availability-live{grid-template-columns:1fr}}
@media(max-width:620px){
 .sm-availability-wrap{padding:48px 0 20px}
 .sm-availability-wrap .sm-availability-site{display:block;margin:0;padding:0}
 .sm-availability-site .sm-availability-heading h2{font-size:43px;max-width:360px;margin-bottom:15px}
 .sm-availability-site .sm-availability-heading>p{font-size:14px}
 .sm-availability-portrait-line{margin:23px 0 17px}.sm-availability-portrait-line>span{width:68px;height:75px;flex-basis:68px;border-radius:23px}
 .sm-availability-site .sm-availability-board{padding:23px;margin-top:26px;border-radius:20px}
 .sm-availability-site .sm-availability-status{font-size:14px;line-height:1.65;margin-bottom:18px}
 .sm-availability-site[data-state=ready] .sm-availability-status{font-size:16px}
 .sm-availability-site .sm-availability-roster summary{font-size:12px;gap:10px}
 .sm-availability-wrap+.sm-pricing{padding-top:24px}
}
@media(max-width:360px){.sm-availability-site .sm-availability-roster ul{grid-template-columns:1fr}}

/* Keep the heading anchored as the native team roster expands. */
.sm-availability-roster{box-sizing:border-box}
.sm-availability-roster[data-roster-animating]{overflow:hidden;will-change:height}
