/* Shared manual story galleries and social discovery; no application styles. */
.ns-gallery{background:#edf2f5;color:#101e32;overflow:hidden}
.ns-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.ns-gallery-heading h2{margin:0 0 12px;font-size:clamp(26px,3vw,40px)}
.ns-gallery-heading p{max-width:690px;margin:0;color:#526174}
.ns-gallery-controls{display:flex;align-items:center;gap:12px;flex:none}
.ns-gallery-controls[hidden]{display:none}
.ns-gallery-controls button{width:48px;height:48px;border:1px solid #101e32;border-radius:50%;background:#fff;color:#101e32;font-size:24px;cursor:pointer}
.ns-gallery-controls button:hover{background:#ffcf24}
.ns-gallery-controls button:disabled{opacity:.4;cursor:default}
.ns-position{font-size:14px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.ns-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:6px 2px 18px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#526174 #d7dce1}
.ns-track:focus-visible{outline:3px solid #256088;outline-offset:3px}
.ns-slide{flex:0 0 calc((100% - 44px)/3);min-width:0;background:#fff;border:1px solid #d7dce1;border-radius:12px;overflow:hidden;scroll-snap-align:start;box-shadow:0 5px 15px #101e3209}
.ns-slide img{display:block;width:100%;height:320px;object-fit:contain;background:#e2e7eb}
.ns-slide-copy{padding:24px;border-top:3px solid #ffcf24}
.ns-slide h3{font-size:20px;line-height:1.35;margin:0 0 16px}
.ns-slide a{color:#101e32;font-weight:700;text-underline-offset:5px;display:inline-block;padding-block:8px}
.ns-recognition{background:#fff;color:#101e32}
.ns-recognition-grid{display:grid;grid-template-columns:minmax(220px,350px) minmax(0,560px);justify-content:center;align-items:center;gap:clamp(28px,6vw,80px)}
.ns-recognition-image img{display:block;width:100%;height:auto;border-radius:50%}
.ns-recognition h2{font-size:clamp(28px,4vw,44px);margin:12px 0 20px}
.ns-recognition p{max-width:520px}
.ns-social{background:#101e32;color:#fff}
.ns-social h2{font-size:clamp(28px,4vw,44px);margin:12px 0}
.ns-social .eyebrow{color:#ffcf24}
.ns-social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.ns-social-grid>a{display:flex;gap:14px;align-items:flex-start;border:1px solid #526174;border-radius:12px;padding:24px 18px;color:#fff;text-decoration:none;background:#182b44}
.ns-social-grid>a:hover{border-color:#ffcf24;background:#203650}
.ns-social-grid svg{flex:none;color:#ffcf24}
.ns-social-grid strong,.ns-social-grid span>span,.ns-social-grid small{display:block}
.ns-social-grid small{color:#d7dce1;margin-top:14px;font-size:14px;line-height:1.5}
.ns-social-grid span>span{font-size:14px;margin-top:5px}
.ns-external{margin-left:auto}
.ns-social-compact{display:flex;flex-wrap:wrap;gap:12px 28px;padding:24px 0;border-top:1px solid #34465f}
.ns-social-compact a{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-height:44px;font-size:14px}
.ns-social-compact svg{width:20px;height:20px;color:#ffcf24}
.ns-social-compact .ns-external{display:none}
.ns-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ns-social :is(a,button):focus-visible{outline-color:#ffcf24}
.ns-clip img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
@media(max-width:1000px){.ns-slide{flex-basis:calc((100% - 22px)/2)}.ns-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ns-gallery-heading{display:block}.ns-gallery-controls{margin-top:22px;justify-content:flex-end}.ns-slide{flex-basis:88%}.ns-slide img{height:300px}.ns-slide-copy{padding:20px}.ns-recognition-grid{grid-template-columns:1fr}.ns-recognition-image{width:240px;max-width:80%;margin:auto}.ns-social-grid{grid-template-columns:1fr}.ns-social-grid>a{padding:20px}.ns-social-grid small{margin-top:8px}}

/* One social banner for every public and membership page. */
.ns-social-strip{display:block;background:#101e32;color:#fff;border-top:3px solid #ffcf24}
.ns-social-strip>.wrap{display:flex;gap:28px;align-items:center;padding-block:20px}
.ns-social-strip h2{font-size:15px;letter-spacing:.14em;white-space:nowrap;margin:0;color:#ffcf24}
.ns-social-strip-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:1}
.ns-social-strip a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border:1px solid #526174;border-radius:5px;color:#fff;text-decoration:none;font-weight:700;padding:8px;line-height:1.2}
.ns-social-strip a:hover{border-color:#ffcf24;color:#ffcf24}
.ns-social-strip a:focus-visible{outline:3px solid #ffcf24;outline-offset:3px}
.ns-social-strip svg{width:21px;height:21px;flex:none;color:#ffcf24}

@media(max-width:600px){
 .ns-social-strip>.wrap{display:block;padding-block:18px}
 .ns-social-strip h2{margin:0 0 12px}
 .ns-social-strip-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .ns-social-strip a{min-height:50px;font-size:14px;gap:8px}
}
body .visual-restored .restore-hero-grid{max-width:1440px;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px;padding-block:28px}
body .visual-restored .restore-copy h1{font-size:clamp(38px,4.7vw,66px);line-height:1.04}
body .visual-restored .restore-copy h1:after{content:"";display:block;width:96px;height:7px;background:#ffcf24;transform:rotate(-3deg);margin-top:20px;border-radius:60% 20% 40% 25%}
body .visual-restored .restore-copy .lead{font-size:clamp(16px,1.5vw,20px);line-height:1.5}
.story-hero{position:relative;touch-action:pan-y;outline-offset:4px}
.story-stage{height:490px;position:relative;overflow:hidden;background:#17263a;border-radius:8px}
body .visual-restored .story-frame{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
body .visual-restored .story-frame.is-current{opacity:1;z-index:1}
body .visual-restored .story-frame img{width:100%;height:100%;object-fit:contain;background:#17263a;border-radius:0;display:block}
body .visual-restored .story-frame figcaption{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);padding:8px 12px;background:#101e32;color:#fff;border-left:3px solid #ffcf24;font-size:12px;line-height:1.4;border-radius:3px}
.story-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px}
.story-controls[hidden]{display:none}
.story-controls button{min-width:44px;min-height:44px;padding:6px 14px;border:1px solid #637186;border-radius:24px;background:#17263a;color:white;font:inherit;cursor:pointer}
.story-controls button:hover{color:#ffcf24;border-color:#ffcf24}
.story-count{font-size:13px;padding:0 6px;font-variant-numeric:tabular-nums;color:#fff}
.story-hero:focus-visible,.story-hero button:focus-visible{outline:3px solid #ffcf24;outline-offset:3px}
.ns-social{padding:30px 0;border-top:3px solid #ffcf24}
.ns-social .social-recognition{gap:22px}
.ns-social .social-recognition>img{width:100px;height:100px}
.ns-social .social-recognition h2{font-size:clamp(26px,3vw,36px);margin:5px 0 8px}
.ns-social .social-recognition p{margin:0}
.ns-social .ns-social-grid{margin-top:22px}
.ns-social .ns-social-grid>a{padding:18px;min-height:78px}
.ns-social a:focus-visible{outline:3px solid #ffcf24;outline-offset:4px}
@media(max-width:600px){body .visual-restored .restore-hero-grid{grid-template-columns:1fr;gap:18px;padding-block:24px}body .visual-restored .restore-copy h1{font-size:40px}.story-stage{height:350px}.ns-social .ns-social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ns-social .ns-social-grid>a{padding:14px 10px;gap:8px}.ns-social-grid span>span{font-size:11px}.ns-social .social-recognition>img{width:76px;height:76px}.ns-social .social-recognition p:not(.eyebrow){font-size:14px}}
@media(prefers-reduced-motion:reduce){body .visual-restored .story-frame{transition:none}}
