/* V7 Presenter-focused motion & homepage-faithful graphics.
   All 1600x900 slide coordinates remain unchanged and scale as one scene. */

/* Cover reuses the same visual vocabulary as the homepage hero:
   200-node signal sphere, delicate orbital bands, brand-symbol core,
   three contextual labels, two data-coordinate micro labels. */
.cover .cover-sphere{display:none;position:absolute;inset:15px;isolation:isolate}
.cover .cover-art.cover-sphere-ready .cover-network{display:none}
.cover .cover-art.cover-sphere-ready .cover-sphere{display:block}
.cover .cover-sphere canvas{
  position:absolute;inset:0;width:100%;height:100%;
  opacity:.98;pointer-events:none;
}
.cover .cover-equator{
  position:absolute;left:12%;top:12%;height:76%;width:76%;
  border:1px solid rgba(142,219,233,.24);
  border-radius:50%;pointer-events:none;
  filter:drop-shadow(0 0 6px rgba(142,219,233,.06));
}
.cover .cover-equator.orbit-x{transform:rotateZ(-19deg) scaleY(.44)}
.cover .cover-equator.orbit-y{transform:rotateZ(43deg) scaleY(.51);border-color:rgba(108,208,229,.17)}
.cover .cover-sphere-core{
  position:absolute;left:50%;top:50%;width:170px;height:170px;
  transform:translate(-50%,-50%);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  background:radial-gradient(circle at 35% 27%,#1e4a57 0%,#10353d 32%,#061b24 74%);
  border:1px solid rgba(165,239,249,.35);
  box-shadow:0 0 0 26px rgba(112,217,231,.045),
    0 0 80px rgba(111,214,233,.16),inset 0 0 35px rgba(88,201,216,.11);
  z-index:4;isolation:isolate;
}
.cover .cover-sphere-core::before{
  content:"";position:absolute;inset:-19px;border:1px solid rgba(179,243,249,.15);
  border-radius:50%;pointer-events:none
}
.cover .cover-core-pulse{
  position:absolute;inset:-42px;border:1px solid rgba(126,219,237,.13);
  border-radius:50%;
}
.cover .cover-brand-symbol{width:106px;height:115px;fill:#d0fbfc;filter:drop-shadow(0 0 7px rgba(159,235,245,.2))}
.cover .cover-sphere-core small{
  margin-top:-3px;font:700 8px/1.35 var(--font);letter-spacing:.16em;
  color:#a2d9e2;text-align:center;
}
.cover .cover-coordinate{
  position:absolute;z-index:5;
  font:700 9px var(--font);letter-spacing:.16em;color:#6798a4;
}
.cover .coord-a{left:9%;top:11%}
.cover .coord-b{right:4%;top:7%}
.cover .cover-art .float-label{
  z-index:6;
  border-color:rgba(149,229,239,.24);
  background:rgba(5,29,39,.77);
  box-shadow:0 12px 27px rgba(0,0,0,.09);
  padding:14px 17px;
  font-size:9px;line-height:1.35;
}
.cover .cover-art .float-label b{font:700 12px var(--font);letter-spacing:.12em;margin-top:6px}
.cover .cover-art .label-a{top:24%;left:0}
.cover .cover-art .label-b{top:auto;right:-1%;bottom:22%}
.cover .cover-art .label-c{left:8%;bottom:10%}
.cover .cover-halo{
  background:radial-gradient(circle,rgba(64,183,206,.22),rgba(35,111,142,.06) 49%,transparent 74%);
}
@keyframes homepageCoverBreath{0%,100%{opacity:.3;scale:1}50%{opacity:.69;scale:1.06}}
@media(prefers-reduced-motion:no-preference) {
  .slide.active.cover .cover-core-pulse{animation:homepageCoverBreath 6s ease-in-out infinite}
}

/* Slide 9—left vision pillars drive a specific node, connector and caption
   on the globe to their right. Selection remains legible while speaking. */
.vision .vision-pillars{z-index:9;gap:10px}
.vision .vision-pillars .vision-pillar{
  appearance:none;text-align:left;cursor:pointer;position:relative;
  width:100%;min-height:52px;display:flex;align-items:center;gap:17px;
  padding:13px 18px;
  color:#c0e7eb;
  background:rgba(16,65,82,.47);
  border:1px solid rgba(146,226,236,.16);
  font:700 12px var(--font);letter-spacing:.07em;
  transition:background .38s ease,color .38s ease,border-color .38s ease,
    box-shadow .38s ease,transform .38s cubic-bezier(.2,.8,.2,1);
}
.vision .vision-pillars .vision-pillar:hover{border-color:rgba(173,246,250,.5);background:rgba(30,105,119,.64)}
.vision .vision-pillars .vision-pillar:focus-visible{outline:2px solid #d7ffff;outline-offset:3px}
.vision .vision-pillars .vision-pillar b{
  font:600 16px var(--display);color:#93d9e2;min-width:25px;
}
.vision .vision-pillars .vision-pillar span{flex:1}
.vision .vision-pillars .vision-pillar[aria-pressed="true"]{
  color:#093440;background:#b5f1f3;border-color:#ddffff;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 26px rgba(159,244,251,.13);
  transform:translateX(7px);
}
.vision .vision-pillars .vision-pillar[aria-pressed="true"] b{color:#154d5b}
.vision .vision-pillar-indicator{
  display:block;flex:none;width:8px;height:8px;border-radius:50%;
  border:1px solid #74acb9;
}
.vision .vision-pillar[aria-pressed="true"] .vision-pillar-indicator{
  border-color:#0e6776;background:#176f7d;
  box-shadow:0 0 0 5px rgba(44,139,153,.12);
}
.vision .vision-signal-diagram{
  position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  pointer-events:none;
}
.vision .vision-signal-diagram .vision-technical-ring,
.vision .vision-signal-diagram .vision-technical-orbit{
  fill:none;stroke:#84d9e6;stroke-width:1.2;stroke-opacity:.19;
}
.vision .vision-signal-diagram .vision-technical-orbit{stroke-opacity:.22}
.vision .vision-signal-diagram .orbit-reverse{stroke-dasharray:4 9;stroke-opacity:.15}
.vision .vision-signal-path{
  fill:none;stroke:#84d5e2;stroke-width:1.3;stroke-opacity:.22;
  transition:stroke-opacity .45s,stroke-width .45s,filter .45s;
}
.vision .vision-world[data-active-step="0"] [data-vision-path="0"],
.vision .vision-world[data-active-step="1"] [data-vision-path="1"],
.vision .vision-world[data-active-step="2"] [data-vision-path="2"],
.vision .vision-world[data-active-step="3"] [data-vision-path="3"]{
  stroke:#c0ffff;stroke-width:3.2;stroke-opacity:1;
  filter:drop-shadow(0 0 6px rgba(162,241,248,.68));
}
.vision .vision-data-points circle{
  fill:#b4f4f6;stroke:#236779;stroke-width:1.2;
  filter:drop-shadow(0 0 5px rgba(130,227,242,.52));
}
.vision .world-core{
  width:173px;height:173px;z-index:4;display:flex;
  align-items:center;justify-content:center;flex-direction:column;gap:0;
  border-color:rgba(178,246,249,.49);background:radial-gradient(circle at 35% 30%,#194a58,#082b3a 78%);
}
.vision .vision-brand-symbol{
  width:90px;height:91px;fill:#d5ffff;filter:drop-shadow(0 0 8px rgba(151,236,244,.24));
}
.vision .world-core small{
  font:700 9px/1.3 var(--font);text-align:center;letter-spacing:.11em;
  margin-top:-4px;color:#a2dce5;
}
.vision .vision-node{
  position:absolute;z-index:5;min-width:115px;padding:9px 12px;
  border:1px solid rgba(133,209,222,.19);
  background:rgba(5,33,45,.78);
  opacity:.61;
  display:flex;align-items:center;gap:9px;
  transition:opacity .4s,background .4s,border-color .4s,box-shadow .4s,transform .4s;
}
.vision .vision-node>i{
  width:8px;height:8px;flex:none;border:1px solid #8dc7d0;
  border-radius:50%;display:block;box-shadow:0 0 11px rgba(152,230,242,.15);
}
.vision .vision-node>span{font:700 9px/1.45 var(--font);letter-spacing:.095em;color:#a3ccd6}
.vision .vn0{left:50%;top:5%;transform:translateX(-50%)}
.vision .vn1{right:-1%;top:28%}
.vision .vn2{left:62%;bottom:7%}
.vision .vn3{left:1%;top:60%}
.vision .vision-world[data-active-step="0"] [data-vision-node="0"],
.vision .vision-world[data-active-step="1"] [data-vision-node="1"],
.vision .vision-world[data-active-step="2"] [data-vision-node="2"],
.vision .vision-world[data-active-step="3"] [data-vision-node="3"]{
  background:#aeeff2;border-color:#d6ffff;opacity:1;
  box-shadow:0 0 25px rgba(121,218,236,.2);
}
.vision .vision-world[data-active-step="0"] [data-vision-node="0"]>span,
.vision .vision-world[data-active-step="1"] [data-vision-node="1"]>span,
.vision .vision-world[data-active-step="2"] [data-vision-node="2"]>span,
.vision .vision-world[data-active-step="3"] [data-vision-node="3"]>span{color:#073b49}
.vision .vision-world[data-active-step="0"] [data-vision-node="0"]>i,
.vision .vision-world[data-active-step="1"] [data-vision-node="1"]>i,
.vision .vision-world[data-active-step="2"] [data-vision-node="2"]>i,
.vision .vision-world[data-active-step="3"] [data-vision-node="3"]>i{background:#256f82;border-color:#256f82}
.vision .vision-active-marker{
  position:absolute;bottom:6%;left:9%;padding:8px 11px;
  border:1px solid rgba(139,220,229,.21);
  color:#8cc5d0;background:rgba(6,31,43,.56);
  font:700 9px var(--font);letter-spacing:.13em;
}
.vision .vision-active-marker b{color:#c7fbfc}
@keyframes visionLineMove{to{stroke-dashoffset:-300}}
@media(prefers-reduced-motion:no-preference){
  .vision .slide.active .vision-technical-orbit,.slide.active .vision-technical-orbit{
    animation:homepageCoverBreath 9s ease-in-out infinite;
  }
  .slide.active .vision-world[data-active-step="0"] [data-vision-path="0"],
  .slide.active .vision-world[data-active-step="1"] [data-vision-path="1"],
  .slide.active .vision-world[data-active-step="2"] [data-vision-path="2"],
  .slide.active .vision-world[data-active-step="3"] [data-vision-path="3"]{
    stroke-dasharray:14 16;animation:visionLineMove 10s linear infinite;
  }
}

/* Presenter Pause / Continue stays available below the stage on all slides.
   Space or P toggles it without advancing the deck. */
.controls-right .presenter-hint{white-space:nowrap;margin-right:11px}
.controls-right .pause-motion{
  appearance:none;min-width:104px;height:38px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(13,60,72,.67);
  border:1px solid rgba(135,221,231,.34);
  color:#ccf5f5;padding:0 12px;
  font:700 11px var(--font);letter-spacing:.035em;
  transition:background .2s,border-color .2s,color .2s;
}
.controls-right .pause-motion:hover{background:#1c6478;border-color:#bbf9fb}
.controls-right .pause-motion:focus-visible{outline:2px solid #c6ffff;outline-offset:3px}
.controls-right .pause-motion svg{width:16px;height:16px;fill:currentColor;stroke:none;flex:none}
.controls-right .pause-motion .play-icon-triangle{display:none}
.presentation-paused .controls-right .pause-motion{
  color:#092f3c;background:#baf2f5;border-color:#d8ffff;
}
.presentation-paused .pause-motion .pause-icon-bars{display:none}
.presentation-paused .pause-motion .play-icon-triangle{display:block}
.presentation-paused .slide.active,
.presentation-paused .slide.active *,
.presentation-paused .slide.active *::before,
.presentation-paused .slide.active *::after,
.presentation-not-visible .slide.active,
.presentation-not-visible .slide.active *,
.presentation-not-visible .slide.active *::before,
.presentation-not-visible .slide.active *::after{
  animation-play-state:paused!important;
}
@media(max-width:900px){
  .controls-right .presenter-hint{display:none}
}
@media(max-width:580px){
  .controls-right .pause-motion{min-width:34px;width:34px;height:31px;padding:0}
  .controls-right .pause-motion b{display:none}
}
@media(prefers-reduced-motion:reduce){
  .cover .cover-sphere-core,.vision .vision-node,.vision .vision-signal-path{
    animation:none!important;transition:none!important;
  }
}
