/* Client context and evidence modules, scoped to the customer stories. */
.cs-client { padding:clamp(3rem,6vw,5.5rem) 0; background:#f3f7fb; border-bottom:1px solid #dfe8ef; }
.cs-client__intro h2 { margin:.5rem 0 1rem; }
.cs-client__intro p:not(.eyebrow) { color:#40576b; margin-top:.85rem; line-height:1.7; }
.cs-client a,.cs-scope a,.cs-screen-evidence a { text-underline-offset:.2em; }
.cs-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin-top:2rem; }
.cs-fact { display:flex; flex-direction:column; align-items:flex-start; padding:1.5rem 1.6rem; border:1px solid #d8e4ed; border-top:3px solid #0d7d94; border-radius:1rem; background:#fff; }
.cs-fact>strong { display:block; font-size:clamp(1.7rem,3vw,2.7rem); color:#143e62; font-weight:750; line-height:1.15; overflow-wrap:anywhere; }
.cs-fact>span { display:block; margin:.8rem 0 1rem; color:#40576b; font-size:.95rem; line-height:1.55; }
.cs-fact>a { margin-top:auto; color:#126b91; font-size:.8rem; line-height:1.5; }
.cs-source-note { margin-top:1.25rem; color:#596f80; font-size:.84rem; line-height:1.65; }
.cs-scope { padding:clamp(3rem,6vw,5rem) 0; background:#fff; }
.cs-section-heading>p:not(.eyebrow) { margin-top:1rem; color:#40576b; line-height:1.7; }
.cs-scope__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; margin-top:2rem; }
.cs-scope__grid article { padding:1.3rem 0 0; border-top:2px solid #bdd5e6; }
.cs-scope__grid article>span { color:#0e7189; font-size:.85rem; font-weight:700; }
.cs-scope__grid h3 { margin:.55rem 0 .75rem; font-size:1.25rem; line-height:1.35; }
.cs-scope__grid p { color:#40576b; line-height:1.7; }
.cs-screen-evidence { padding:clamp(3rem,6vw,5rem) 0; background:#f3f7fb; }
.cs-screen-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:1.5rem; margin-top:2rem; }
.cs-screen-card { margin:0; padding:1rem; border:1px solid #dae6ee; border-radius:1.1rem; background:#fff; }
.cs-screen-card>a { display:block; overflow:hidden; border-radius:.6rem; background:#eaf0f6; }
.cs-screen-card img { display:block; width:100%; height:auto; object-fit:contain; }
.cs-screen-card figcaption { padding:.95rem .15rem .2rem; color:#40576b; font-size:.9rem; line-height:1.6; }
.cs-screen-card figcaption strong { display:block; color:#173d5c; margin-bottom:.4rem; font-size:1.02rem; }
.cs-screen-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cs-screen-card a:focus-visible { outline:3px solid #087d9a; outline-offset:4px; }
.cs-lightbox { position:fixed; width:min(94vw,75rem); max-height:94vh; padding:3.5rem 1rem 1rem; border:0; border-radius:1rem; background:#102d45; color:#fff; }
.cs-lightbox::backdrop { background:rgba(3,15,29,.88); }
.cs-lightbox__close { position:absolute; right:1rem; top:.7rem; padding:.5rem .8rem; border:1px solid #8ea5b7; border-radius:.4rem; background:#fff; color:#112c43; cursor:pointer; }
.cs-lightbox img { max-width:100%; width:auto; max-height:76vh; height:auto; object-fit:contain; margin:auto; display:block; }
.cs-lightbox p { margin:.8rem auto 0; max-width:75ch; font-size:.9rem; color:#e2ebf3; text-align:center; }
.cs-map { display:grid; grid-template-columns:1fr 1.05fr 1fr; gap:1.5rem; padding:2rem; border:1px solid #d7e4ed; border-radius:1rem; margin-top:2rem; background:#f3f7fb; }
.cs-map__column { min-width:0; }
.cs-map__column h3 { color:#173e5e; font-size:1.2rem; margin:0 0 .9rem; }
.cs-map__column ul { display:grid; gap:.55rem; margin:0; padding:0; list-style:none; }
.cs-map__column li { padding:.65rem .8rem; border:1px solid #d8e3ec; border-radius:.5rem; color:#40576b; background:#fff; font-size:.95rem; }
.cs-map__column--hub { padding:1.2rem; border-radius:.8rem; background:#163e60; }
.cs-map__column--hub h3 { color:#fff; }
.cs-map__column--hub li { color:#eaf4fa; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); }
.cs-example-label { display:block; margin:1rem 0; padding:.85rem 1rem; border-left:3px solid #0a7d91; background:#edf6fa; color:#244b63; font-size:.9rem; line-height:1.65; }
@media(max-width:900px) { .cs-facts { gap:.75rem; } .cs-fact { padding:1.2rem; } .cs-screen-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .cs-facts,.cs-scope__grid,.cs-map { grid-template-columns:1fr; } .cs-fact { padding:1.2rem 1.4rem; } .cs-fact>span { margin:.5rem 0 .7rem; } .cs-fact>strong { font-size:2rem; } .cs-screen-grid,.cs-screen-grid--four { grid-template-columns:1fr; max-width:27rem; margin-inline:auto; } .cs-map { padding:1.2rem; } .cs-client__intro h2 { max-width:none; } }
.cs-evidence-figure>a { display:block; cursor:zoom-in; }
.cs-evidence-figure>a:focus-visible { outline:3px solid #087d9a; outline-offset:-4px; }
.cs-hero-caption { padding:.7rem 1rem; color:#e1eaf2; background:#183d58; font-size:.8rem; line-height:1.5; }
.cs-hero-caption a { color:inherit; text-underline-offset:.2em; }
.cs-ownership-note { margin-top:1rem; padding:.7rem 1rem; border-left:3px solid #67d1da; background:rgba(255,255,255,.07); color:#e9f2f7; font-size:.92rem; line-height:1.6; }
.cs-context-figure { margin:0; }
.cs-context-figure figcaption { margin-top:.65rem; color:#596f80; font-size:.84rem; line-height:1.5; }
.cs-app-name { overflow-wrap:anywhere; }
