/* Shared technical identity and content-first explanatory components. */
.ref-hero,.home-hero{position:relative;isolation:isolate}
.ref-hero::before,.home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/images/generated/is-security-technical-background.webp') center/cover no-repeat;opacity:.28;pointer-events:none}
.page-guide{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:20px;border-bottom:1px solid var(--line);font-size:13px}
.page-guide>span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.page-guide a{padding:9px 0;text-decoration:underline;text-underline-offset:4px}.page-guide a:last-child{margin-left:auto}
.depth-section{background:#fff}.depth-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:start}.depth-copy{max-width:76ch}.depth-copy article+article{margin-top:30px}.depth-copy h3{font-size:27px;margin-bottom:13px}.depth-copy p{font-size:15px;line-height:1.85;color:#42545d}.depth-visuals{display:grid;gap:28px;min-width:0}.system-figure,.checkpoint-figure,.boundary-figure{margin:0;border:1px solid #c2d0d4;background:#f2f6f5;padding:28px}.figure-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.figure-header .eyebrow{margin:7px 0}.system-figure > svg{width:100%;height:auto;display:block;color:#a50000}.system-figure svg text{fill:#193844;font-family:var(--body,Arial,sans-serif);font-size:20px;font-weight:600}.network-node{fill:white;stroke:#8ba7b0;stroke-width:1.5}.node-dot{fill:#a80000}.system-figure svg .node-index{fill:#637e88;font-size:12px;letter-spacing:3px}.system-figure figcaption{font-size:12px;line-height:1.65;color:#4c626b;border-top:1px solid #c7d5d8;padding-top:18px}.motion-control{border:1px solid #b3c6cc;background:white;color:#203e49;padding:10px 12px;font-size:12px;line-height:1.4;min-height:44px;cursor:pointer}.motion-control:disabled{color:#526168;cursor:default}.is-animating .network-line{stroke-dasharray:8 9;animation:connection-travel 1.2s linear infinite}.network-line{transition:stroke .2s}.checkpoint-figure{margin-top:44px;background:#172e39;color:#fff}.checkpoint-figure figcaption{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:25px}.checkpoint-figure .eyebrow{color:#c5d8dd}.checkpoint-figure figcaption strong{font-family:var(--heading);font-size:30px;font-weight:500}.checkpoint-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin:0}.checkpoint-flow>li{position:relative;min-width:0;border-top:1px solid #6b8792;padding-top:20px}.checkpoint-flow>li:not(:last-child)::after{content:'→';position:absolute;right:-29px;top:24px;font-size:22px;color:#a4c5ce}.checkpoint-number{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #8bb2bd;border-radius:50%;font-size:12px;color:#d6e9ed;margin-bottom:16px}.checkpoint-flow summary{cursor:pointer;font-size:17px;line-height:1.5;font-weight:600;min-height:44px}.checkpoint-flow p{font-size:14px;line-height:1.7;color:#d1e0e4;margin-top:8px}.diagram-note{font-size:12px;line-height:1.7;color:#c5d6db;margin-top:24px;padding-top:18px;border-top:1px solid #546f7a}.boundary-figure figcaption strong{font-family:var(--heading);font-size:28px;font-weight:500}.boundary-flow{display:grid;grid-template-columns:1fr;gap:22px;margin:25px 0}.boundary-flow>div{position:relative;display:flex;gap:18px;align-items:center;border-left:3px solid #a80000;background:#fff;padding:17px}.boundary-flow>div:not(:last-child)::after{content:'↓';position:absolute;bottom:-23px;left:20px;color:#a80000}.boundary-flow span{font-size:12px;color:#a80000}.boundary-flow strong{font-size:15px}.boundary-figure p{font-size:14px;line-height:1.7;color:#42545d}.technical-sources{padding:0 0 35px;background:white}.technical-sources summary{cursor:pointer;font-size:14px;min-height:44px;padding-block:12px}.technical-sources p,.technical-sources li{font-size:13px;line-height:1.8}.technical-sources a{text-decoration:underline;text-underline-offset:3px}.usecase-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.usecase-tabs button{padding:12px 18px;min-height:46px;border:1px solid #9eb5bd;background:#fff;color:#193b49;font-weight:600;font-size:13px;cursor:pointer}.usecase-tabs button[aria-selected=true]{background:#193b49;border-color:#193b49;color:white}.usecase-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:44px;align-items:center;background:white;padding:32px;border:1px solid #c4d2d5;margin-top:20px}.usecase-panel[hidden]{display:none}.usecase-panel h3{font-size:32px;margin-bottom:18px}.usecase-panel p{font-size:15px;line-height:1.8;color:#42545d}.usecase-panel .scenario-requirement{font-size:13px;margin-top:20px;padding-top:16px;border-top:1px solid #c4d2d5}.ai-scene{margin:0}.ai-scene svg{width:100%;height:auto;display:block}.ai-scene figcaption{font-size:12px;color:#4c626b;line-height:1.7;margin-top:12px}.service-finder{background:#f1f4f3}.finder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.finder-grid a{display:grid;grid-template-columns:1fr 25px;gap:10px 20px;border:1px solid #c4d1d4;background:#fff;padding:25px}.finder-grid strong{font-family:var(--heading);font-size:27px;line-height:1.2}.finder-grid a>span:first-of-type{font-size:13px;line-height:1.6;color:#526168;grid-column:1}.finder-grid a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:#ac0000;font-size:24px}.finder-grid a:hover,.finder-grid a:focus-visible{border-color:#a80000}.motion-control:focus-visible,.usecase-tabs button:focus-visible,.checkpoint-flow summary:focus-visible{outline:3px solid #c40000;outline-offset:4px}.checkpoint-flow summary:focus-visible{outline-color:#fff}
[hidden]{display:none!important}
@keyframes connection-travel{to{stroke-dashoffset:-34}}
@media(max-width:1100px){.depth-layout{gap:32px}.system-figure,.boundary-figure{padding:20px}.depth-copy h3{font-size:25px}.figure-header{flex-direction:column;gap:5px}.usecase-panel{gap:28px;padding:24px}}
@media(max-width:680px){.page-guide{gap:4px 20px;padding-block:14px}.page-guide>span{width:100%}.page-guide a:last-child{margin-left:0}.depth-layout{grid-template-columns:1fr;gap:28px}.depth-copy p{font-size:14px;line-height:1.85}.depth-copy article+article{margin-top:26px}.depth-visuals{gap:22px}.figure-header{flex-direction:row;align-items:center}.system-figure{padding:18px}.system-figure svg text{font-size:21px}.system-figure svg .node-index{font-size:13px}.checkpoint-figure{padding:22px;margin-top:28px}.checkpoint-figure figcaption{display:block}.checkpoint-figure figcaption strong{display:block;font-size:28px}.checkpoint-flow{grid-template-columns:1fr;gap:22px}.checkpoint-flow>li{display:grid;grid-template-columns:38px 1fr;gap:18px;padding-top:18px}.checkpoint-flow>li:not(:last-child)::after{display:none}.checkpoint-flow summary{font-size:16px}.checkpoint-flow p{font-size:13px}.usecase-panel{grid-template-columns:1fr;gap:22px;padding:20px}.usecase-panel h3{font-size:29px}.usecase-panel p{font-size:14px}.usecase-tabs{gap:8px}.usecase-tabs button{flex:1 1 40%;font-size:12px;padding:11px}.finder-grid{grid-template-columns:1fr}.finder-grid a{padding:20px}.finder-grid strong{font-size:25px}.technical-sources{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){.is-animating .network-line{animation:none}.network-line{transition:none}}
@media(forced-colors:active){.ref-hero::before,.home-hero::before{display:none}.network-node{fill:Canvas;stroke:CanvasText}.system-figure svg text{fill:CanvasText}.usecase-tabs button[aria-selected=true]{border:3px solid Highlight}}
.depth-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px;margin-top:34px}.depth-more article{border-top:1px solid #c4d2d5;padding-top:22px}.depth-more h3{font-size:26px;margin-bottom:14px}.depth-more p{font-size:15px;line-height:1.85;color:#42545d}.depth-more article:only-child{max-width:90ch}@media(max-width:680px){.depth-more{grid-template-columns:1fr;gap:26px;margin-top:26px}.depth-more h3{font-size:25px}.depth-more p{font-size:14px}}
.satellite-explanation{margin-bottom:32px}

/* Scoped to the selected practical-guide replacements; no general diagram rules. */
.connectivity-explainer { padding:26px; background:#fafcfc; border:1px solid #c2d0d4; border-radius:16px; overflow:hidden; }
.connectivity-explainer .figure-header { align-items:center; gap:12px; flex-wrap:wrap; }
.connectivity-explainer .connectivity-title { display:block; font-family:var(--heading); font-size:30px; line-height:1.15; color:#193844; margin-top:22px; max-width:26ch; }
.connectivity-explainer .connectivity-scene { width:100%; height:auto; display:block; margin:8px 0 0; }
.connectivity-explainer .connectivity-places { display:grid; grid-template-columns:1fr .9fr 1fr; align-items:start; gap:12px; margin-top:-8px; text-align:center; color:#244653; font-size:13px; line-height:1.5; font-weight:600; }
.connectivity-explainer .connectivity-places svg { display:block; width:23px; height:23px; margin:0 auto 5px; color:#246579; }
.connectivity-explainer .connectivity-label { display:block; font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#52707d; margin-bottom:10px; }
.connectivity-explainer .connectivity-links { margin-top:26px; padding-top:22px; border-top:1px solid #d7e2e5; }
.connectivity-explainer .connectivity-links ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.connectivity-explainer .connectivity-links li { border-radius:20px; padding:7px 11px; background:#eaf1f2; color:#244653; font-size:12px; line-height:1.5; }
.connectivity-explainer .connectivity-services { margin-top:22px; }
.connectivity-explainer .connectivity-services ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; padding:0; margin:0; }
.connectivity-explainer .connectivity-services li { font-size:12px; line-height:1.5; color:#244653; }
.connectivity-explainer .connectivity-services svg { width:30px; height:30px; color:#246579; margin-bottom:8px; }
.connectivity-explainer .connectivity-services li span { display:block; }
.connectivity-explainer .connectivity-options { margin-top:22px; border-top:1px solid #d7e2e5; border-bottom:1px solid #d7e2e5; }
.connectivity-explainer .connectivity-options summary { font-size:13px; font-weight:600; line-height:1.5; cursor:pointer; padding:14px 0; min-height:48px; color:#244653; }
.connectivity-explainer .connectivity-options p,.connectivity-explainer .connectivity-context,.connectivity-explainer .connectivity-checkpoints { font-size:12px; line-height:1.75; color:#48616e; margin-top:18px; }
.connectivity-explainer .connectivity-options p { margin:0 0 16px; }
.connectivity-explainer .connectivity-checkpoints { padding-top:18px; border-top:1px solid #d7e2e5; }
.connectivity-explainer .connectivity-checkpoints .connectivity-label { margin-bottom:6px; }
.connectivity-explainer .motion-control { border-radius:20px; font-size:11px; }
.connectivity-explainer .motion-control:focus-visible,.connectivity-explainer summary:focus-visible { outline:3px solid #a80000; outline-offset:3px; }
.connectivity-explainer figcaption { margin-top:18px; font-size:11px; }
@media(max-width:680px) {
 .connectivity-explainer { padding:20px 16px; }
 .connectivity-explainer .connectivity-title { font-size:28px; }
 .connectivity-explainer .connectivity-places { gap:7px; font-size:12px; }
 .connectivity-explainer .connectivity-services ul { gap:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .connectivity-explainer .network-line { animation:none!important; transition:none; }
}
