/* Interactive information surfaces */
.scene-experience .ambient-scene{opacity:.075;filter:blur(1px)}
.scene-experience #main{padding-top:90px}
.experience-page{width:100%;padding:0 34px 40px}
.experience-hero{min-height:calc(100svh - 125px);max-width:1600px;margin:auto;position:relative;display:flex;flex-direction:column}
.experience-title{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 12px 0;z-index:2}
.experience-index{font-size:10px;letter-spacing:.2em;color:#f3414c}
.experience-title h1{font-size:22px;font-weight:400;line-height:1.3;letter-spacing:.02em;margin:6px 0 0}
.experience-jump{display:flex;gap:14px;align-items:center;color:#aaaeb8;padding:7px 0 7px 20px;text-align:right}
.experience-jump b{font-size:35px;font-weight:400;letter-spacing:-.04em;color:#f2f3f4}
.experience-jump span{font-size:9px;letter-spacing:.12em}
.experience-jump:hover span{color:#ff303b}
#interactive-scene{flex:1;min-height:580px;width:100%;position:relative}
.scene-action-panel{display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:880px;margin:0 auto;width:100%;padding:0 20px;animation:panelReveal .4s ease both}
.scene-action-panel:empty{display:none}
.scene-action-panel p{font-size:12px;color:#bcc0ca;line-height:1.8;margin:8px 0}
.scene-action-panel small{display:inline-block;font-size:10px;color:#8c919b}
.scene-action-panel .panel-kicker{font-size:11px;color:#ff4a54;letter-spacing:.06em}
.scene-action-panel .text-link{font-size:11px;white-space:nowrap}
.experience-scroll{display:flex;align-items:center;justify-content:space-between;margin:15px 12px 16px;color:#727883;font-size:9px;letter-spacing:.14em}
.experience-scroll button{font-size:11px;letter-spacing:.05em;color:#c4c8d0;padding:10px 0}
.experience-scroll button::first-letter{color:#ff303b}
.experience-cost-note{font-size:10px;color:#858a93;max-width:950px;margin:0 auto 24px;padding:0 15px;line-height:1.8}
#video-library{scroll-margin-top:100px;max-width:1500px;margin:20px auto 0}
.data-sheet{max-width:1370px;margin:70px auto 0;border-top:1px solid #393d46;border-bottom:1px solid #252a32;padding:0 14px}
.data-sheet>summary{display:flex;align-items:center;justify-content:space-between;font-size:15px;padding:24px 0;list-style:none;cursor:pointer;color:#c4c8d2}
.data-sheet>summary::-webkit-details-marker{display:none}
.data-sheet>summary b{font-size:23px;font-weight:300;color:#f3414c;transition:transform .3s}
.data-sheet[open]>summary b{transform:rotate(45deg)}
.data-sheet-body{padding:12px 0 35px}
.data-sheet-body>.wrap{max-width:none;padding:0}
.data-sheet .defense-list{margin-bottom:0}
.visual-compare{max-width:1240px;margin:auto}
.visual-compare .compare-tray{position:relative;bottom:0;margin-top:20px}
.visual-compare .compare-result{margin:20px 0}
.path-context:empty{display:none}
.editorial-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.editorial-section-heading small{font-size:9px;letter-spacing:.18em;color:#f3414c}
.editorial-section-heading h2{font-weight:400;font-size:25px;margin:8px 0 0}
.editorial-section-heading>span{font-size:10px;letter-spacing:.14em;color:#858b95}
.analysis-shelf{margin:80px auto;max-width:1470px;padding:0 12px}
.analysis-rail{display:flex;gap:24px;overflow:auto;padding-bottom:22px;scroll-snap-type:x proximity;scrollbar-color:#b82e36 #16191e;scrollbar-width:thin}
.analysis-card{width:340px;min-width:340px;scroll-snap-align:start;position:relative;padding:0 0 35px;border-bottom:1px solid #3b414b;transition:border-color .3s}
.analysis-card:hover{border-color:#ff303b}
.analysis-card-source{display:flex;gap:10px;justify-content:space-between;font-size:9px;color:#777e8a;min-height:20px}
.analysis-card>small{font-size:10px;color:#ff4953}
.analysis-card h3{font-weight:400;font-size:21px;line-height:1.5;margin:9px 30px 0 0}
.analysis-card-arrow{position:absolute;bottom:40px;right:0;font-size:20px;color:#ff303b}
.analysis-mini{height:180px;display:flex;align-items:center;gap:10px;justify-content:center;position:relative;margin:12px 0 18px}
.analysis-mini::before{content:'';position:absolute;width:110px;height:110px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #7a242b;border-radius:50%;box-shadow:0 0 45px #9d101014;animation:analysisHalo 8s ease-in-out infinite}
.analysis-mini::after{content:'';position:absolute;left:20px;right:20px;top:50%;border-top:1px dashed #573139}
.analysis-mini span{flex:1;position:relative;z-index:2;text-align:center;color:#a9aebb;font-size:9px;line-height:1.4;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:75px;transform:translateY(calc((var(--node) - 1.5) * 10px));}
.analysis-mini i{display:block;width:17px;height:17px;border:1px solid #e7434d;background:#140d10;border-radius:50%;box-shadow:0 0 0 7px #bd283319;animation:analysisNode 4s ease-in-out infinite;animation-delay:calc(var(--node) * .6s)}
.analysis-mini span:nth-child(even) i{background:#dadde3;border-color:#dadde3;width:8px;height:8px;box-shadow:0 0 0 8px #fff1}
@keyframes analysisHalo{50%{transform:translate(-50%,-50%) scale(1.2);opacity:.35}}
@keyframes analysisNode{50%{box-shadow:0 0 0 12px #bd283300;transform:scale(.8)}}
@keyframes panelReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.analysis-article{max-width:1250px;margin:15px auto 50px;padding:0 38px}
.analysis-overline{display:flex;flex-wrap:wrap;gap:20px;align-items:center;color:#777e89;font-size:10px}
.analysis-overline a{color:#f3404b;margin-right:auto;padding:10px 0}
.analysis-article h1{font-size:clamp(30px,4.5vw,58px);font-weight:400;letter-spacing:-.035em;line-height:1.5;max-width:1000px;margin:35px 0 18px}
.analysis-deck{max-width:670px;color:#a1a8b3;font-size:14px;line-height:1.9}
.analysis-flow{display:flex;justify-content:center;gap:4vw;position:relative;margin:50px 0 55px;padding:35px 0}
.analysis-flow::before{content:'';position:absolute;left:5%;right:5%;top:50%;height:1px;background:linear-gradient(90deg,#fff2,#ff303b,#fff2)}
.analysis-flow>div{width:170px;aspect-ratio:1;border:1px solid #8d2b35;background:#090b0ed9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;position:relative;box-shadow:0 0 60px #ff303b08}
.analysis-flow>div::after{content:'';position:absolute;inset:-9px;border:1px dashed #422128;border-radius:50%;animation:orbit 35s linear infinite;animation-delay:calc(var(--node)*-4s)}
.analysis-flow span{font-size:12px;color:#e1444f}
.analysis-flow strong{font-weight:400;font-size:16px;text-align:center}
.analysis-three{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:50px}
.analysis-three section{border-top:1px solid #414751;padding:22px 0}
.analysis-three small{font-size:9px;letter-spacing:.09em;color:#ec3a46}
.analysis-three h2{font-size:20px;font-weight:400;margin:14px 0}
.analysis-three p{font-size:14px;line-height:1.95;color:#c0c5ce}
.analysis-three section>span{display:block;font-size:10px;color:#888f9b;margin-top:20px}
.analysis-provenance{border-top:1px solid #303641;padding:20px 0;margin-bottom:35px;color:#949ca8;font-size:12px;line-height:1.9}
.analysis-provenance summary{display:flex;justify-content:space-between;cursor:pointer;color:#d0d4dc;list-style:none;font-size:13px}
.analysis-provenance p{margin:18px 0}
.analysis-provenance a{word-break:break-word;color:#f0757e}
@media(max-width:900px){.experience-page{padding:0 20px 35px}.experience-hero{min-height:calc(100svh - 115px)}#interactive-scene{min-height:530px}.analysis-three{gap:22px}.analysis-flow{gap:18px}.analysis-flow>div{width:145px}.analysis-flow strong{font-size:13px}.analysis-three h2{font-size:17px}}
@media(max-width:600px){.scene-experience #main{padding-top:80px}.experience-page{padding:0 12px 15px}.experience-title{padding:4px 9px 0;gap:16px}.experience-index{font-size:8px}.experience-title h1{font-size:18px;margin-top:7px}.experience-jump{gap:9px;padding:6px 0}.experience-jump b{font-size:29px}.experience-jump span{font-size:8px;max-width:45px;line-height:1.5}.experience-hero{min-height:calc(100svh - 95px)}#interactive-scene{min-height:490px}.scene-action-panel{padding:0 12px;justify-content:start;gap:12px}.scene-action-panel p{font-size:11px}.experience-scroll{font-size:8px;margin:6px 9px 20px}.experience-scroll button{font-size:10px}.experience-cost-note{font-size:9px}.data-sheet{margin-top:44px;padding:0 9px}.data-sheet>summary{font-size:12px;padding:20px 0}.data-sheet-body{padding-top:0}.editorial-section-heading h2{font-size:20px}.editorial-section-heading>span{font-size:8px}.analysis-shelf{margin:50px auto;padding:0 8px}.analysis-card{width:280px;min-width:280px}.analysis-card h3{font-size:18px}.analysis-card-source{font-size:8px}.analysis-mini{height:160px}.analysis-rail{gap:20px}.analysis-article{padding:0 23px;margin-top:0}.analysis-overline{gap:6px 14px;font-size:9px}.analysis-overline time{width:100%;padding-top:8px}.analysis-article h1{font-size:30px;margin:25px 0 17px}.analysis-deck{font-size:12px}.analysis-flow{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0 40px}.analysis-flow>div{width:100%;max-width:140px;justify-self:center}.analysis-flow::before{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto}.analysis-three{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.analysis-three section{padding:18px 0}.analysis-three h2{font-size:20px;margin:12px 0}.analysis-three p{font-size:14px}.analysis-provenance{font-size:11px}.visual-compare .compare-tray{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.analysis-mini::before,.analysis-mini i,.analysis-flow>div::after{animation:none}.scene-action-panel{animation:none}}
.motion-paused .scene-action-panel{animation:none;opacity:1;transform:none}
/* Keep the mobile scene across the available viewport, above the navigation. */
@media(max-width:600px){.experience-page #interactive-scene{min-height:0}.experience-page .security-scene{width:calc(100% + 24px);margin:0 -12px 12px}.experience-page .ss-stage{aspect-ratio:auto;min-height:clamp(380px,calc(100svh - 330px),560px)}.experience-page .ss-glossary .ss-stage{min-height:clamp(420px,calc(100svh - 330px),560px)}}

/* News starts with selectable video images, rather than a separate full-screen diagram. */
.scene-news .scene-header .header-top{height:72px;padding-inline:28px}
.scene-news #main{padding-top:76px}
.scene-news .scene-close-detail{display:none}
.news-screen{padding:0 28px 40px;max-width:1800px;margin-inline:auto}
.news-masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;margin-bottom:4px}
.news-masthead h1{font-size:20px;font-weight:400;line-height:1.4;margin:0;letter-spacing:-.02em}
.news-masthead nav{display:flex;gap:20px;align-items:center}
.news-masthead nav a{font-size:12px;color:#c2c6ce;min-height:40px;display:inline-flex;align-items:center;text-underline-offset:5px}
.news-masthead nav a:hover,.news-masthead nav a:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:#ff303b}
.news-screen #video-library{margin:0;max-width:none;scroll-margin-top:80px}
.news-screen .analysis-shelf{margin:44px auto 32px;padding:0;scroll-margin-top:92px}
.news-screen .data-sheet{margin-top:32px;scroll-margin-top:92px}
@media(max-width:700px){.scene-news .scene-header .header-top{height:68px;padding-inline:16px}.scene-news #main{padding-top:72px}.news-screen{padding-inline:16px}.news-masthead h1{font-size:18px}.news-masthead nav{gap:16px}.news-masthead nav a{font-size:11px}.news-screen .analysis-shelf{margin-top:32px}.news-screen .editorial-section-heading h2{font-size:21px}}

.scene-news .page-enter{animation:none}

/* The attack-path scene folds into a small, live control at the upper right. */
.paths-docking .page-enter{animation:none}
.paths-docking .scene-close-detail{display:none}
.path-scene-anchor{position:relative;width:100%;overflow-anchor:none}
.path-dock-shell{position:fixed;left:0;top:0;z-index:22;transform-origin:0 0;pointer-events:none;will-change:auto}
.path-dock-shell .path-floating-scene{margin:0!important;max-width:none;pointer-events:auto;box-shadow:0 14px 42px #0007}
.path-floating-scene .ss-stage{width:100%;min-height:0!important;max-height:none;aspect-ratio:auto}
.path-floating-scene .ss-inspect{display:none!important}
.path-floating-scene .ss-micro-header,.path-floating-scene .ss-bottom-line,.path-floating-scene .ss-node-label,.path-floating-scene .ss-core-button>span,.path-floating-scene .ss-core-button>small{opacity:var(--path-label-opacity,1)}
.path-dock-controls{position:fixed;z-index:23;pointer-events:none}
.path-dock-controls button,.path-dock-reopen{font:inherit;cursor:pointer;pointer-events:auto;color:#d9dce4;background:none}
.path-dock-shell[hidden],.path-dock-controls[hidden],.path-dock-reopen[hidden]{display:none!important}
.path-mini-node{position:absolute;width:44px;height:44px;display:grid;place-items:center;transform:translate(-50%,-50%);border:0;padding:0}
.path-mini-node>span{display:grid;place-items:center;width:32px;height:32px;background:#101217;border:1px solid #505562;border-radius:50%;transition:color .2s,border-color .2s,background .2s}
.path-mini-node svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.path-mini-node[aria-pressed=true]>span{color:#ff5964;border-color:#ff5964;background:#2a1016}
.path-mini-node:hover>span{color:#fff;border-color:#fff}
.path-dock-toolbar{position:absolute;left:0;right:0;display:flex;align-items:center;gap:4px;background:#0b0d11;border-top:1px solid #3a3039;padding-left:12px;min-height:44px}
.path-dock-toolbar>span{font-size:11px;line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bcc3cf}
.path-dock-toolbar button{border:0;padding:0;display:grid;place-items:center;width:44px;height:44px}
.path-dock-toolbar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.path-dock-reopen{position:fixed;z-index:23;min-height:44px;padding:0 16px;border:1px solid #53313b!important;background:#0b0d11!important;font-size:11px!important}
.path-dock-controls button:focus-visible,.path-dock-reopen:focus-visible{outline:2px solid #ff5964;outline-offset:2px}
body:has(.main-nav.menu-open) .path-dock-shell,body:has(.main-nav.menu-open) .path-dock-controls,body:has(.main-nav.menu-open) .path-dock-reopen,
body:has(dialog[open]) .path-dock-shell,body:has(dialog[open]) .path-dock-controls,body:has(dialog[open]) .path-dock-reopen{visibility:hidden}
@media(max-width:600px){.path-dock-toolbar{padding-left:8px}.path-dock-toolbar>span{font-size:9px}.path-dock-toolbar{gap:0}}
@media(prefers-reduced-motion:reduce){.path-dock-shell{will-change:auto}.path-mini-node>span{transition:none}}

[data-path-dock="moving"] .path-dock-shell{will-change:transform}
