/* Additive animation layer. The locked master styles and records remain intact. */
.project-loop{--pl-accent:#57c8ff;background:linear-gradient(140deg,#041017,#09212b);position:relative;scroll-margin-top:16px}
.pl-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}.pl-heading h2{font-size:clamp(2.1rem,4.5vw,3.9rem);margin-bottom:0}.pl-disclaimer{max-width:320px;color:#b6ccd7;font-size:.875rem;margin:0}
.project-loop button{font:inherit;color:#e7f4fa;cursor:pointer;border:1px solid #35525e;background:#081b24;min-height:44px}.project-loop button:focus-visible{outline:3px solid #f0b64b;outline-offset:3px}.project-loop button:disabled{cursor:default;opacity:.55}
.pl-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border:1px solid #35525e;background:#35525e}.pl-steps button{border:0;display:flex;gap:10px;align-items:center;padding:16px 12px;text-align:left;position:relative}.pl-steps b{font-size:1.5rem;color:var(--pl-accent)}.pl-steps span{font-size:.875rem}.pl-steps button[aria-pressed=true]{background:#103342;box-shadow:inset 0 -3px var(--pl-accent)}.pl-steps button[aria-pressed=true]:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;background:#d7f5ff;transform:scaleX(0);transform-origin:left;animation:pl-stage-clock 7s linear forwards;animation-play-state:paused}.pl-playing .pl-steps button[aria-pressed=true]:after{animation-play-state:running}
.pl-workbench{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border:1px solid #35525e;border-top:0;min-height:540px}.pl-scene{position:relative;overflow:hidden;min-width:0;min-height:540px;background:#102630}.pl-site-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;filter:brightness(.62) saturate(.72)}.pl-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#041019 0,transparent 48%,rgba(2,10,16,.5));pointer-events:none}.pl-scene-top{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;gap:16px;z-index:2;font:.75rem/1.5 Consolas,monospace;color:#c7e4ee}.pl-scene-top span:last-child{color:#a4c4d1}.pl-survey{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.pl-survey path{fill:none;stroke-linecap:round;stroke-linejoin:round}.pl-contours{stroke:#89c6d2;stroke-width:1;opacity:.35}.pl-alignment{stroke:#65d0fa;stroke-width:3;stroke-dasharray:1;animation:pl-draw 4s ease-out both}.pl-installed{stroke:#6fdfae;stroke-width:7;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.pl-structures{stroke:#c3eeff;stroke-width:1.5}.pl-dimension{stroke:#c3eeff;stroke-width:1;opacity:.9}.pl-survey text{fill:#d7eff9;stroke:none;font:14px Consolas,monospace;paint-order:stroke;stroke:#071b25;stroke-width:3px}.pl-gps{stroke:#73f0b7;fill:#73f0b7;stroke-width:2;opacity:0}.pl-gps-pulse{fill:none;transform-box:fill-box;transform-origin:center;animation:pl-gps 3s ease-out infinite}.pl-evidence-route{stroke:#f0b64b;stroke-width:2;stroke-dasharray:.025 .045;opacity:0;animation:pl-flow 5s linear infinite}.pl-scene-caption{position:absolute;bottom:28px;left:24px;right:175px;z-index:3}.pl-scene-caption span{display:block;font:.75rem/1.5 Consolas,monospace;color:#a9d9ec;letter-spacing:.08em}.pl-scene-caption strong{display:block;margin-top:10px;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.15;letter-spacing:-.035em}.pl-triangle{width:145px;position:absolute;right:16px;bottom:20px;z-index:3}.pl-triangle svg{width:100%;overflow:visible}.pl-triangle path{fill:none;stroke:#476d7c;stroke-width:1.3}.pl-triangle .pl-triangle-data{stroke:var(--pl-accent);stroke-width:3;stroke-dasharray:.09 .91;animation:pl-flow 7s linear infinite}.pl-triangle circle{fill:#071923;stroke:var(--pl-accent);stroke-width:1.5}.pl-triangle text{fill:#e0f4fc;text-anchor:middle;font:bold 15px Arial,sans-serif}.pl-triangle .pl-i{font-size:28px}.pl-record{padding:26px;background:#06141d;display:flex;flex-direction:column;min-width:0}.pl-record-head{display:flex;justify-content:space-between;gap:14px;color:#99bfce;font:.75rem/1.4 Consolas,monospace;letter-spacing:.06em}.pl-record h3{font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.08;letter-spacing:-.035em;margin:22px 0 14px}.pl-record>p{font-size:1rem;line-height:1.5;margin:0 0 20px;color:#bacfd8;min-height:120px}.pl-metrics{margin:0;display:grid;gap:0}.pl-metrics>div{padding:9px 0;border-top:1px solid #28434f;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;font-size:.875rem}.pl-metrics dt{color:#a8c5d2}.pl-metrics dd{margin:0;color:#e1f2fa}.pl-gate-note{padding:13px 15px;background:#0c2530;border-left:2px solid var(--pl-accent);font-size:.8125rem;line-height:1.5;margin-top:auto}.project-loop .pl-approve{margin-top:14px;background:#efb84e;color:#15202a;border-color:#efb84e;padding:10px 12px;font-weight:bold}.pl-approve[hidden],.pl-cost[hidden]{display:none}.pl-cost{display:grid;gap:7px;margin:12px 0 18px;font:.75rem/1.4 Consolas,monospace}.pl-cost i{display:block;width:var(--bar);height:5px;background:#57c8ff;transform-origin:left;animation:pl-bar 1.5s ease-out}.pl-cost>div:last-child i{background:#f0b64b}.pl-cost span{display:block;margin-bottom:5px;color:#b8cfdb}.pl-baseline{display:flex;justify-content:space-between;gap:22px;background:#0b201e;border:1px solid #30574e;border-top:0;padding:14px 18px;font-size:.8125rem;color:#c4e6d9}.pl-baseline b{color:#8ae4b3}.pl-baseline span:last-child{max-width:370px}.pl-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.pl-controls>div{display:flex;flex-wrap:wrap;gap:8px}.pl-controls button{padding:9px 14px;font-size:.875rem}.pl-controls>span{color:#a6becb;font-size:.8125rem;max-width:310px}.pl-provenance{font-size:.8125rem;color:#99b6c4;margin:20px 0 0}.pl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-loop[data-phase="1"]{--pl-accent:#74e4b3}.project-loop[data-phase="2"],.project-loop[data-phase="4"]{--pl-accent:#f0bd61}.project-loop[data-phase="5"]{--pl-accent:#74e4b3}.project-loop:not([data-phase="0"]) .pl-gps{opacity:1}.project-loop:not([data-phase="0"]) .pl-installed{opacity:.9;stroke-dashoffset:0}.project-loop[data-phase="1"] .pl-installed{animation:pl-draw 5s ease-out both}.project-loop[data-phase="2"] .pl-evidence-route,.project-loop[data-phase="3"] .pl-evidence-route{opacity:1}.project-loop[data-phase="3"] .pl-triangle circle{animation:pl-intelligence 3s ease-in-out infinite}.project-loop[data-phase="4"] .pl-triangle-data{animation-play-state:paused}.project-loop[data-phase="5"] .pl-triangle-data{animation-direction:reverse}.project-loop[data-phase="5"] .pl-alignment{animation:pl-draw 3s ease-out both}
.project-loop:not(.pl-in-view) *,.project-loop:not(.pl-in-view) *:after,.pl-paused *,.pl-paused *:before,.pl-paused *:after{animation-play-state:paused!important}.pl-motion-paused *,.pl-motion-paused *:before,.pl-motion-paused *:after{animation-play-state:paused!important}
.pl-hero-survey{position:absolute;right:3%;top:26%;width:44%;height:58%;pointer-events:none;z-index:0;opacity:.6}.pl-hero-survey path{fill:none;stroke:#63bdcf;stroke-width:1}.pl-hero-survey .pl-hero-route{stroke:#64d6f4;stroke-width:2;stroke-dasharray:14 120;animation:pl-hero-trace 8s linear infinite}.pl-hero-survey text{fill:#b9e4ed;font:14px Consolas,monospace}.pl-hero-survey circle{fill:#b2ebf5}.pl-hero-watch{min-height:44px;position:absolute;z-index:2;left:50%;transform:translateX(-50%);bottom:22px;border:1px solid #4c7c8e;background:#061923;color:#cbebf6;padding:8px 15px;font: .8rem/1.5 Arial,sans-serif;cursor:pointer;max-width:80%}
.pl-evidence-node{position:relative;overflow:hidden}.pl-evidence-node:after{content:"";position:absolute;left:0;bottom:0;width:55%;height:2px;background:linear-gradient(90deg,transparent,#6ecdf0,transparent);transform:translateX(-110%);pointer-events:none}.pl-evidence-node.pl-visible:after{animation:pl-record-pass 6s ease-in-out infinite;animation-delay:var(--pl-delay,0s)}.pl-evidence-node:not(.pl-visible):after{animation-play-state:paused}
@keyframes pl-stage-clock{to{transform:scaleX(1)}}@keyframes pl-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pl-flow{to{stroke-dashoffset:-1}}@keyframes pl-gps{0%{transform:scale(.6);opacity:.9}80%,100%{transform:scale(1.5);opacity:.1}}@keyframes pl-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pl-intelligence{50%{stroke-width:3;fill:#103747}}@keyframes pl-hero-trace{to{stroke-dashoffset:-268}}@keyframes pl-record-pass{0%,15%{transform:translateX(-110%)}80%,100%{transform:translateX(285%)}}
@media(max-width:1000px){.pl-steps button{gap:5px;padding:12px 8px;flex-direction:column;align-items:start}.pl-workbench{grid-template-columns:1fr 1fr}.pl-record{padding:22px}.pl-scene-caption{right:130px;left:20px}.pl-triangle{width:110px}.pl-record>p{min-height:0}.pl-hero-watch{left:22px;transform:none}.pl-heading{align-items:start}}
@media(max-width:760px){.pl-heading{display:block}.pl-disclaimer{margin-top:22px;max-width:100%}.pl-workbench{grid-template-columns:1fr}.pl-scene{min-height:350px;aspect-ratio:auto}.pl-steps{grid-template-columns:repeat(3,1fr)}.pl-steps button{flex-direction:row;gap:8px;align-items:center;padding:12px 10px}.pl-steps b{font-size:1.35rem}.pl-steps span{font-size:.8125rem}.pl-record{min-height:450px}.pl-record>p{min-height:0}.pl-controls,.pl-baseline{align-items:start;flex-direction:column;gap:12px}.pl-controls>span{max-width:none}.pl-survey text{font-size:15px}.pl-hero-survey{right:0;top:8%;width:100%;height:80%;opacity:.2}.pl-scene-top{font-size:.7rem;left:16px;right:16px}.pl-scene-caption strong{font-size:1.45rem}.pl-scene-caption{bottom:24px;left:18px}.pl-provenance{line-height:1.6}.pl-hero-watch{bottom:50px;font-size:.75rem}}
@media(max-width:380px){.pl-controls button{padding:9px 10px}.pl-record{padding:18px}.pl-steps span{font-size:.75rem}.pl-scene-caption{right:118px}.pl-scene-caption strong{font-size:1.2rem}.pl-scene-caption span{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.project-loop *, .pl-hero-survey *, .pl-evidence-node:after{animation:none!important;transition:none!important}.pl-alignment{stroke-dashoffset:0}.project-loop:not([data-phase="0"]) .pl-installed{stroke-dashoffset:0}.pl-steps button:after{display:none}}

.project-loop[data-phase="5"] .pl-site-photo{opacity:.32;transition:opacity 1.2s}.project-loop[data-phase="5"] .pl-installed,.project-loop[data-phase="5"] .pl-gps{opacity:0}.project-loop[data-phase="5"] .pl-stations,.project-loop[data-phase="5"] .pl-dimension{opacity:.25}
