/* National infrastructure: original photographic scenes with native animated flows. */
.sovereign-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:3%;min-height:0;padding:72px 5%;overflow:hidden;border-block:1px solid var(--line)}
.sovereign-content{grid-column:1;grid-row:1;padding:0;min-width:0}
.sovereign-content>h2{font-size:clamp(42px,4.2vw,66px)}
.sovereign-content>.section-lead{font-size:21px;max-width:470px}
.sovereign-content>.button{max-width:100%;gap:20px}
.sovereign-principles{margin-top:30px;gap:12px 20px}
.sovereign-story{grid-column:2;grid-row:1;min-width:0;position:relative;background:var(--blue)}
.sovereign-slides{display:grid}
.sovereign-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s;pointer-events:none}
.sovereign-slide[data-active="true"]{opacity:1;visibility:visible;pointer-events:auto}
.sovereign-photo{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--blue)}
.sovereign-shot{position:relative;transform-origin:center;animation:sovereign-camera 16s ease-in-out infinite alternate}
.sovereign-shot>img{display:block;width:100%;height:auto;aspect-ratio:1586/992;object-fit:cover}
.sovereign-flows{position:absolute;inset:0;width:100%;height:100%;fill:none;pointer-events:none}
.story-route{stroke:var(--light);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 40;filter:drop-shadow(0 0 6px var(--blue));animation:sovereign-flow 1.8s linear infinite}
.story-power{stroke:var(--white);stroke-dasharray:8 22;animation-duration:1.1s}
.story-heat{stroke-width:4;animation-duration:2.5s}
.story-network{stroke:var(--light);stroke-width:3;stroke-dasharray:5 13;opacity:.85;animation:sovereign-flow 5s linear infinite}
.story-node{fill:var(--white);stroke:var(--blue);stroke-width:3}
.story-data{font:600 27px Calibri,sans-serif;fill:var(--white);filter:drop-shadow(0 0 4px var(--blue));animation:sovereign-data 3s ease-in-out infinite}
.sovereign-slide figcaption{padding:23px 0 22px;min-height:183px}
.sovereign-slide figcaption>.eyebrow{font-size:10px;margin-bottom:12px}
.sovereign-slide h3{font-size:clamp(26px,2.6vw,39px);line-height:1.1;letter-spacing:-.025em}
.sovereign-slide figcaption p{font-size:17px;line-height:1.45;color:var(--light);max-width:550px;margin-top:12px}
.sovereign-controls{border-top:1px solid var(--line);padding-top:6px}
.sovereign-controls[hidden]{display:none}
.sovereign-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sovereign-steps button{min-height:48px;min-width:44px;padding:8px 0;background:none;border:0;border-bottom:2px solid transparent;color:var(--light);font-size:13px;text-align:left}
.sovereign-steps button[aria-pressed="true"]{border-color:var(--light);color:var(--white)}
.sovereign-playback{display:flex;justify-content:flex-end;gap:24px}
.sovereign-playback button{min-height:44px;min-width:44px;padding:8px 0;background:none;border:0;color:var(--light);font-size:12px}
.sovereign-playback button:disabled{opacity:.7;cursor:default}
.sovereign-story[data-running="false"] *,.sovereign-slide[data-active="false"] *{animation-play-state:paused!important}
@keyframes sovereign-flow{to{stroke-dashoffset:-116}}
@keyframes sovereign-camera{to{transform:scale(1.045)}}
@keyframes sovereign-data{0%{opacity:0;transform:translateY(10px)}35%,70%{opacity:1}100%{opacity:0;transform:translateY(-25px)}}
@media(max-width:1100px){.sovereign-content>h2{font-size:42px}.sovereign-content>.section-lead{font-size:19px}.sovereign-content>.button{font-size:13px;padding-inline:15px}.sovereign-steps{gap:9px}.sovereign-steps button{font-size:12px}}
@media(max-width:1000px){
 .sovereign-section{grid-template-columns:minmax(0,1fr);gap:36px;padding:65px 24px}
 .sovereign-content{grid-column:1;grid-row:1}.sovereign-story{grid-column:1;grid-row:2;width:100%;max-width:850px;margin-inline:auto}
 .sovereign-content>h2{font-size:clamp(38px,7vw,62px)}.sovereign-content>.section-lead{max-width:650px;font-size:21px}
 .sovereign-slide figcaption{min-height:164px}.sovereign-slide h3{font-size:32px}
}
@media(max-width:480px){
 .sovereign-section{padding-inline:24px}.sovereign-content>h2{font-size:clamp(35px,9vw,44px)}
 .sovereign-slide h3{font-size:28px}.sovereign-slide figcaption{min-height:190px;padding-top:20px}.sovereign-slide figcaption p{font-size:16px}
 .sovereign-steps{gap:8px}.sovereign-steps button{font-size:12px}.sovereign-photo{margin-inline:-24px;border-inline:0}
}
@media(prefers-reduced-motion:reduce){.sovereign-story *{animation:none!important;transition:none!important}.story-data{opacity:1}}
