/* Progressive enhancement: all content stays readable without animation or JavaScript. */
.zk-reveal-pending{opacity:.45;transform:translateY(14px)}
.zk-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}
.zk-reveal:focus-within{opacity:1;transform:none}
.zk-reading-progress{position:fixed;inset:0 0 auto;height:3px;background:#7eb53c;transform:scaleX(0);transform-origin:left center;z-index:100;pointer-events:none;transition:transform .12s linear}
.detail-sidebar a[aria-current="location"]{color:#126b9c;font-weight:700}
.detail-sidebar a[aria-current="location"] small{color:#126b9c}
.detail-sidebar a[aria-current="location"]:after{content:'';width:5px;height:5px;background:#7eb53c;border-radius:50%;flex:none;align-self:center;margin-left:auto}
.detail-entry{background-image:linear-gradient(#7eb53c,#7eb53c);background-repeat:no-repeat;background-position:0 100%;background-size:0 2px;transition:background-size .3s ease,color .3s ease}
.detail-entry:focus-visible{background-size:100% 2px}
@media(hover:hover) and (pointer:fine){.detail-entry:hover{background-size:100% 2px;color:#166b9b}.scenario-art img,.related-item img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}.scenario-card .scenario-art:hover img,.related-item:hover img{transform:scale(1.035)}}
@media(min-width:769px) and (prefers-reduced-motion:no-preference){.hero-art img{animation:zk-hero-push 14s ease-out both}.hero-copy h1{animation:zk-entrance .8s .08s both}.hero-copy .intro{animation:zk-entrance .8s .2s both}.hero-copy .button{animation:zk-entrance .8s .32s both}}
@keyframes zk-hero-push{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes zk-entrance{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:768px){.zk-reveal{transition:opacity .4s ease}.zk-reveal-pending{opacity:.65;transform:none}.zk-reading-progress{height:2px}}
@media(hover:none){.scenario-card:hover .scenario-art img,.related-item:hover img{transform:none!important}}
@media(prefers-reduced-motion:reduce){.zk-reveal,.zk-reveal-pending{opacity:1!important;transform:none!important;transition:none!important}.zk-reading-progress{transition:none}.detail-entry,.scenario-art img,.related-item img{transition:none!important}.scenario-card:hover .scenario-art img,.related-item:hover img{transform:none!important}.hero-art img,.hero-copy h1,.hero-copy .intro,.hero-copy .button{animation:none!important}}
@media print{.zk-reveal,.zk-reveal-pending{opacity:1!important;transform:none!important}.zk-reading-progress{display:none}}
/* Business navigation follows the existing editorial layout. */
#sectorFilters{margin:-24px 0 30px}.sector-filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.sector-filter-buttons button{font:inherit;font-size:15px;line-height:1.4;min-height:46px;padding:12px 19px;border:1px solid #b8cddd;background:transparent;color:#244e6b;border-radius:2px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.sector-filter-buttons button[aria-pressed=true]{background:#0c3655;border-color:#0c3655;color:white;box-shadow:inset 0 -3px #82b840}.sector-filter-buttons button:focus-visible{outline:3px solid #3586b8;outline-offset:3px}#sectorCount{font-size:13px;color:#526e83;margin:14px 0 0}.scenario-card[hidden]{display:none!important}.fibre-host{position:relative}.fibre-lines{position:absolute;inset:0;pointer-events:none;overflow:hidden}.fibre-host .fibre-lines svg{width:100%;height:100%;display:block;background:transparent}.fibre-tracks{fill:none;stroke:#8ac9e9;stroke-width:1;opacity:.48}.fibre-pulses{fill:none;stroke:#c1f3ff;stroke-width:2;filter:drop-shadow(0 0 4px #69d7ff)}.fibre-pulses path{stroke-dasharray:3 97;animation:zk-fibre 6s linear infinite}.fibre-pulses path:nth-child(2){stroke:#b9e975;animation-delay:-2s}.fibre-pulses path:nth-child(3){animation-delay:-4s}.fibre-nodes{fill:#b9e975;opacity:.8}.detail-cover.fibre-host .fibre-lines{left:45%}
@keyframes zk-fibre{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:760px){#sectorFilters{margin:0 0 24px}.sector-filter-buttons{gap:8px}.sector-filter-buttons button{font-size:14px;padding:10px 13px;flex:1 1 auto}.fibre-pulses path{animation-duration:9s}.detail-cover.fibre-host .fibre-lines{left:0;top:50%}}
@media(prefers-reduced-motion:reduce){.fibre-pulses path{animation:none;stroke-dasharray:none;opacity:.35}.sector-filter-buttons button{transition:none}}
@media print{#sectorFilters,.fibre-lines{display:none}.scenario-card[hidden]{display:grid!important}}

.detail-fibre-image{min-width:0;overflow:hidden;display:grid}.detail-fibre-image .detail-cover-photo{grid-area:1/1;width:100%;height:100%}
