/* Extended drone and HITL case studies. Existing portfolio styles stay shared. */
.case-stories{padding-block:16px 60px}
.case-story{padding-block:52px;scroll-margin-top:108px}
.case-story:first-child{border-top:0}
.case-story .feature-copy h2{font-size:clamp(31px,3.2vw,43px);line-height:1.13;letter-spacing:-.04em;margin-bottom:21px}
.story-visual{border:0;padding:0;text-align:left;cursor:zoom-in;aspect-ratio:1.05}
.story-visual img{object-position:50% 65%}
.story-visual.story-contain{aspect-ratio:1.35;background:#132334;padding-bottom:42px}
.story-contain img{object-fit:contain;background:#e3e8ed}
.story-contain:after{display:none}
.story-contain .photo-label{bottom:15px;left:16px;font-size:8px;max-width:calc(100% - 65px)}
.story-contain .image-arrow{bottom:5px;right:10px;width:29px;height:29px;font-size:17px}
.feature-copy>p.story-note{font-size:12px;color:#a7bdd1;line-height:1.7}
.feature-copy>p.story-result{font-size:12px;color:#c9e8ff;line-height:1.7;border-left:2px solid #548db8;padding-left:17px;margin-block:22px}
.network-evidence{padding:8px 0 16px}
.network-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:8px 0 0;border-block:1px solid #36516b;padding:28px 0}
.network-stats>div{display:flex;flex-direction:column-reverse;justify-content:end;gap:12px}
.network-stats dt{font-size:12px;color:#9eb3ca;line-height:1.5;max-width:240px}
.network-stats dd{font-size:clamp(25px,2.8vw,37px);color:#e5f4ff;margin:0;letter-spacing:-.04em;line-height:1.2}
.network-scope{font-size:11px;color:#8fa8c1;margin:16px 0 35px}
.network-reading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-bottom:32px}
.network-reading h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}
.network-reading p{font-size:13px;line-height:1.8}
.network-reading .network-caveat{border-left:2px solid #bc935d;padding-left:17px;color:#c8bdaf}
.network-reading figure{margin:0;min-width:0}
.network-reading .story-visual{width:100%}
.network-reading figcaption{font-size:11px;color:#93abc2;line-height:1.6;margin-top:12px}
.network-matrix{border-block:1px solid #2c4259;padding:19px 0}
.network-matrix summary{cursor:pointer;font-size:14px;color:#8bd0ff;font-weight:600}
.table-scroll{overflow:auto;margin-top:22px;max-width:100%}
.network-matrix table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}
.network-matrix caption{text-align:left;color:#9ab0c7;font-size:11px;padding-bottom:14px}
.network-matrix th,.network-matrix td{padding:12px 14px;border-bottom:1px solid #253b50;text-align:right;font-variant-numeric:tabular-nums}
.network-matrix th:first-child{text-align:left}
.network-matrix thead{color:#8cbbdd;background:#122133}
.network-matrix tbody{color:#c8d8e8}
.evidence-links{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:24px}
.evidence-links a{display:flex;gap:20px;align-items:center;border-bottom:1px solid #3c617f;padding-bottom:8px;font-size:12px;color:#d6e8f7}
.evidence-links span{font-size:10px;color:#77c4fb}
@media(max-width:800px){.case-story{padding-block:32px 40px;gap:30px}.case-stories{padding-bottom:35px}.story-visual{aspect-ratio:1.25;max-height:540px}.case-story .feature-copy h2{font-size:36px;max-width:560px}.network-stats{gap:15px}.network-stats dd{font-size:28px}.network-reading{grid-template-columns:1fr;gap:25px}.network-reading figure{max-width:650px}.story-visual.story-contain{aspect-ratio:1.45}.network-stats dt{font-size:11px}}
@media(max-width:560px){.network-stats{grid-template-columns:1fr;gap:22px;padding:23px 0}.network-stats>div{gap:6px}.network-stats dt{max-width:none}.network-stats dd{font-size:32px}.case-story .feature-copy h2{font-size:33px}.case-story .status{font-size:8px}.evidence-links{flex-direction:column;gap:18px}.evidence-links a{justify-content:space-between}.network-reading{gap:20px}.story-visual.story-contain{aspect-ratio:1.3}}
.case-jump{display:flex;flex-wrap:wrap;gap:12px 27px;padding-block:20px;border-bottom:1px solid var(--line)}
.case-jump a{font-size:12px;color:#c5d5e6;padding:5px 0;border-bottom:1px solid transparent}
.case-jump a:hover{color:var(--blue-light);border-color:var(--blue)}
.detail-section{padding-block:28px 68px}
.detail-heading{max-width:790px;margin-bottom:32px}
.detail-heading .eyebrow{margin-bottom:14px}
.detail-heading h2{font-size:clamp(29px,3.1vw,43px);line-height:1.17;margin-bottom:20px}
.detail-heading>p:last-child{font-size:16px;margin-bottom:0}
.hardware-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hardware-card{border:1px solid var(--line);background:#0f1925;min-width:0}
.hardware-card figure{margin:0;border-bottom:1px solid var(--line)}
.hardware-card figure img{height:260px;width:100%;object-fit:cover}
.hardware-card figcaption{font-size:11px;color:#a5b7cb;padding:12px 24px}
.hardware-copy{padding:28px}
.hardware-role{display:flex;gap:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-light);margin-bottom:15px}
.hardware-role span{color:#718ba5}
.hardware-copy h3{font-size:26px;line-height:1.2;letter-spacing:-.03em;margin-bottom:16px}
.hardware-copy>p:not(.hardware-role){font-size:14px;color:#bbc9d9;margin-bottom:22px}
.hardware-copy details{border-top:1px solid #2c3e52;padding-top:15px}
.hardware-copy summary{font-size:12px;font-weight:600;color:#8fd2ff;cursor:pointer;padding-block:4px}
.hardware-copy ul{padding-left:19px;font-size:13px;color:#acbed2;margin-bottom:0}
.hardware-copy li{margin-bottom:8px}
.connection-paths{border-top:1px solid var(--line);margin-top:34px}
.connection-path{display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}
.connection-path>p{font-size:10px;font-weight:700;color:var(--blue-light);text-transform:uppercase;letter-spacing:.11em;margin:0}
.connection-path ol{display:flex;align-items:center;list-style:none;gap:18px;padding:0;margin:0}
.connection-path li{flex:1;min-width:0;font-size:13px;color:#c9d9e9;position:relative;padding-right:18px;line-height:1.5}
.connection-path li:not(:last-child):after{content:'→';position:absolute;right:-6px;color:#5b9bc9}
.section-note{font-size:12px;max-width:950px;line-height:1.7;margin:20px 0 0;color:#91a7be}
.routing-section{padding-block:66px;background:#101c2a;border-block:1px solid #263c52;margin-bottom:58px}
.route-controls{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:30px 0}
.route-controls label{display:grid;gap:9px;font-size:11px;color:#b5c6d9;min-width:0;flex:1;max-width:370px}
.route-controls select{color:var(--text);background:#09121d;border:1px solid #46617d;border-radius:0;padding:13px 34px 13px 14px;font:inherit;font-size:14px;width:100%}
.route-mode{display:flex;border:1px solid #405972;padding:4px;gap:4px}
.route-mode button{background:transparent;border:1px solid transparent;cursor:pointer;padding:11px 17px;font-size:12px;color:#aebfd2}
.route-mode button[aria-pressed=true]{background:#63bfff;color:#071421;border-color:#63bfff;font-weight:700}
.route-mode button:hover{border-color:#86b6dd}
.route-diagram{display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px;align-items:center;padding:36px;background:#09131f;border:1px solid #304960;--route-color:#76c8ff}
.route-sources{display:grid;gap:16px}
.route-source,.route-switch,.route-destination{padding:21px 18px;position:relative;min-width:0;border:1px solid #344c62;background:#102034}
.route-source{opacity:.45;transition:opacity .18s,border-color .18s}
.route-source.active{opacity:1;border-color:var(--route-color);background:#12304a}
.route-source.active:after,.route-switch:after{content:'→';position:absolute;right:-52px;top:calc(50% - 16px);font-size:25px;color:var(--route-color)}
.route-source span,.route-switch>span:first-child,.route-destination>span:first-child{display:block;font-size:9px;letter-spacing:.1em;color:#87a8c7;margin-bottom:9px}
.route-diagram strong{display:block;font-size:16px;line-height:1.4;font-weight:500}
.route-switch{border-color:var(--route-color)}
.route-switch-state{display:block;color:var(--route-color);font-size:10px;line-height:1.5;margin-top:14px}
.route-destination>span:last-child{display:block;font-size:11px;color:#a8bbcf;margin-top:10px}
.route-explanation{padding:25px 0 0;min-height:125px;max-width:900px}
.route-explanation h3{font-size:22px;line-height:1.3;margin-bottom:12px;letter-spacing:-.025em}
.route-explanation p{font-size:14px;line-height:1.75;margin:0}
.software-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:28px 0}
.software-details dt{font-size:14px;color:#d6e5f3;font-weight:500;margin-bottom:9px}
.software-details dd{font-size:13px;color:#a7bbd0;margin:0}
.ownership-note{font-size:13px;border-left:2px solid #456a90;padding:5px 0 5px 22px;max-width:950px;margin:30px 0 0}
.verification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.verification-grid article{border-top:2px solid #4d89b7;padding-top:24px;display:flex;flex-direction:column}
.verification-grid .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:16px}
.verification-grid h3{font-size:25px;line-height:1.2;letter-spacing:-.03em}
.verification-grid article>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-bottom:22px}
.verification-grid article>span{font-size:11px;color:#8fd2ff;margin-top:auto;padding-top:14px;border-top:1px solid #253d54}
.board-views{display:grid;grid-template-columns:1fr 1.15fr;gap:24px}
.board-views figure{margin:0;min-width:0}
.board-views a{display:block;border:1px solid var(--line);background:#182531}
.board-views img{width:100%;height:340px;object-fit:contain}
.board-views figcaption{font-size:12px;color:#a4b9cf;line-height:1.7;padding-top:16px}
@media(max-width:1100px){.route-diagram{gap:40px;padding:24px}.route-source.active:after,.route-switch:after{right:-32px}.hardware-copy{padding:24px}.hardware-card figure img{height:220px}.software-details{grid-template-columns:1fr 1fr}.connection-path{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:800px){.case-jump{gap:8px 21px}.detail-section{padding-block:20px 48px}.routing-section{padding-block:42px;margin-bottom:35px}.hardware-grid{gap:18px}.hardware-copy{padding:20px}.hardware-copy h3{font-size:23px}.route-controls{align-items:stretch;flex-direction:column;gap:18px}.route-controls label{max-width:none}.route-mode{align-self:start}.route-diagram{gap:26px;padding:20px}.route-source,.route-switch,.route-destination{padding:15px 12px}.route-source.active:after,.route-switch:after{right:-23px;font-size:19px;top:calc(50% - 12px)}.route-diagram strong{font-size:13px}.route-source span,.route-switch>span:first-child,.route-destination>span:first-child{font-size:8px}.connection-path{grid-template-columns:1fr;gap:15px}.verification-grid{grid-template-columns:1fr;gap:30px}.verification-grid h3{margin-bottom:14px}.board-views{grid-template-columns:1fr}.board-views img{height:auto;max-height:540px}}
@media(max-width:560px){.hardware-grid{grid-template-columns:1fr}.hardware-card figure img{height:250px}.hardware-copy{padding:23px}.hardware-copy>p:not(.hardware-role){font-size:14px}.connection-path ol{display:grid;grid-template-columns:1fr 1fr;gap:17px 24px}.connection-path li{font-size:12px}.connection-path li:nth-child(2):after{content:'↴'}.route-diagram{grid-template-columns:1fr;gap:38px;padding:23px}.route-sources{grid-template-columns:1fr 1fr;gap:14px}.route-source.active:after{content:'↓';right:calc(50% - 5px);top:auto;bottom:-33px;font-size:23px}.route-switch:after{content:'↓';right:calc(50% - 5px);top:auto;bottom:-34px;font-size:23px}.route-diagram strong{font-size:15px}.route-source span,.route-switch>span:first-child,.route-destination>span:first-child{font-size:9px}.route-explanation{min-height:0}.software-details{gap:23px 18px}.software-details dt{font-size:13px}.software-details dd{font-size:12px}.route-mode{width:100%}.route-mode button{flex:1;font-size:11px;padding:11px 9px}.detail-heading h2{font-size:30px}.detail-heading>p:last-child{font-size:15px}}
