@property --pc-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes pcSpin{to{--pc-ang:360deg}}
@keyframes pcNode{50%{box-shadow:0 0 0 5px rgba(255,255,255,.85),0 0 0 11px color-mix(in srgb,var(--tv-accent) 14%,transparent),0 0 28px var(--tv-accent)}}
@keyframes pcRun{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:calc(100% - 140px);opacity:0}}
/* separators */
.pc-sep{position:relative;max-width:1180px;height:22px;margin:0 auto;pointer-events:none}
.pc-sep::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--tv-accent) 65%,transparent) 22%,color-mix(in srgb,var(--tv-accent-2,var(--tv-accent)) 70%,transparent) 50%,color-mix(in srgb,var(--tv-accent-3,var(--tv-accent)) 60%,transparent) 78%,transparent)}
.pc-sep::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;transform:rotate(45deg);border-radius:2px;background:linear-gradient(135deg,var(--tv-accent),var(--tv-accent-2,var(--tv-accent)));box-shadow:0 0 0 5px rgba(255,255,255,.85),0 0 0 6px color-mix(in srgb,var(--tv-accent) 25%,transparent),0 0 18px var(--tv-accent);animation:pcNode 4s ease-in-out infinite}
.pc-sep i{position:absolute;top:50%;left:0;width:140px;height:3px;margin-top:-1.5px;border-radius:3px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 12px 2px var(--tv-accent);animation:pcRun 7s cubic-bezier(.45,0,.55,1) infinite}
/* animated borders on content cards */
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card){position:relative;isolation:isolate;border-color:transparent!important;border-radius:20px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--tv-accent) 14%,transparent),rgba(255,255,255,.6) 45%)!important;box-shadow:0 18px 40px -24px var(--tv-accent)!important;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card)::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:2;background:conic-gradient(from var(--pc-ang),color-mix(in srgb,var(--tv-accent) 22%,transparent),var(--tv-accent) 60deg,var(--tv-accent-2,var(--tv-accent)) 120deg,color-mix(in srgb,var(--tv-accent) 22%,transparent) 210deg,color-mix(in srgb,var(--tv-accent) 22%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pcSpin 9s linear infinite;animation-delay:calc(var(--pc-i,0)*-1.3s)}
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card):hover{transform:translateY(-5px);box-shadow:0 28px 50px -20px var(--tv-accent),0 0 0 1px color-mix(in srgb,var(--tv-accent) 30%,transparent)!important}
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card):hover::after{animation-duration:3s}
@media (prefers-reduced-motion:reduce){.pc-sep::after,.pc-sep i,html body.pc-on :is(.card,.feature-module,.quote)::after{animation:none!important}}
/* v3: clean solid white + product-colour top bar */
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card){background:#fff!important;backdrop-filter:none!important;border:1px solid #e6e8f0!important;border-radius:18px!important;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px -18px rgba(15,23,42,.22)!important}
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card)::after{animation:none!important;padding:0!important;inset:0 0 auto 0!important;height:4px!important;border-radius:0!important;background:var(--tv-accent)!important;-webkit-mask:none!important;mask:none!important}
html body.pc-on section:is(.section,#z#z#z#z#z#z#z#z#z) :is(.card,.office-card,.feature-module,.quote):not(.tvx-card):hover{border-color:color-mix(in srgb,var(--tv-accent) 35%,#e6e8f0)!important;box-shadow:0 2px 4px rgba(15,23,42,.05),0 24px 48px -20px color-mix(in srgb,var(--tv-accent) 45%,transparent)!important}
html body.pc-on section.navy :is(.card,.feature-module){color:inherit}
