.project-hero{background:radial-gradient(at 35% 45%,#ddeaf580,#0000 60%),linear-gradient(90deg,#d9e4ef40 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#d9e4ef40 1px,#0000 1px) 0 0/32px 32px,#fbfdff}.ph-scene{width:100%;height:calc(100% - 144px);position:absolute;inset:38px 0 106px}.ph-scene text{fill:#182331;stroke:none;font-family:Pretendard,sans-serif}.ph-scene .ph-micro{fill:#52677c;letter-spacing:.05em;font:8px IBM Plex Mono,monospace}.ph-scene .ph-title{font-size:15px;font-weight:600}.ph-scene .ph-ko{fill:#52677c;font-size:11px}.ph-legend text{letter-spacing:.03em;fill:#52677c;font:8px Sora,sans-serif}.ph-model,.ph-evidence{filter:drop-shadow(0 10px 14px #25456216)}.ph-architecture{animation:12s ease-in-out infinite ph-layers}.ph-services{animation:12s ease-in-out infinite ph-services}.ph-service-light{stroke-dasharray:12 300;animation:4s linear infinite ph-signal}.ph-pulse{transform-box:fill-box;transform-origin:50%;animation:3s ease-out infinite ph-pulse}@keyframes ph-layers{0%,15%,90%,to{opacity:.85;transform:translateY(0)}40%,60%{opacity:.35;transform:translateY(-24px)}}@keyframes ph-services{0%,15%,90%,to{opacity:.25}35%,75%{opacity:1}}@keyframes ph-signal{to{stroke-dashoffset:-624px}}@keyframes ph-pulse{0%{opacity:.8;transform:scale(.65)}to{opacity:0;transform:scale(1.5)}}.project-hero{--ph-cycle:14s}.project-hero .ph-service-light{animation-duration:calc(var(--ph-cycle) / 5)}.project-hero .ph-architecture{animation:ph-slabs var(--ph-cycle) ease-in-out 1 both}.project-hero .ph-services{animation:ph-mep-build var(--ph-cycle) ease-in-out 1 both}.ph-column,.ph-beam{stroke-dasharray:1;animation:ph-columns var(--ph-cycle) ease-in-out 1 both}.ph-beam{animation-name:ph-beams}.ph-points{animation:ph-nodes var(--ph-cycle) ease-in-out 1 both}@keyframes ph-nodes{0%,6%{opacity:1}32%,to{opacity:.4}}@keyframes ph-columns{0%,4%{stroke-dashoffset:1px;opacity:.15}20%,to{stroke-dashoffset:0;opacity:.85}}@keyframes ph-beams{0%,14%{stroke-dashoffset:1px;opacity:.1}30%,to{stroke-dashoffset:0;opacity:.85}}@keyframes ph-slabs{0%,22%{opacity:0}36%,to{opacity:.45}}@keyframes ph-mep-build{0%,32%{opacity:0}50%,to{opacity:1}}.ph-review-point{animation:ph-review-late var(--ph-cycle) ease-in-out 1 both}.ph-scene .ph-evidence .ph-title{letter-spacing:.015em;font:600 11px Sora,sans-serif}.project-hero{background-image:radial-gradient(at 35% 45%,#ddeaf580,#0000 60%),linear-gradient(90deg,#c8102e0b 1px,#0000 1px),linear-gradient(#1d5faf10 1px,#0000 1px)}@keyframes ph-review-late{0%,60%{opacity:0}68%,to{opacity:1}}.ph-finished-building{animation:ph-finish var(--ph-cycle) ease-in-out 1 both}@keyframes ph-finish{0%,54%{opacity:0}72%,to{opacity:.48}}@media (max-width:600px) and (max-width:767px),(max-width:600px) and (min-width:1200px){.ph-scene:where(:not([data-mobile-desktop],[data-mobile-desktop] *)){height:calc(100% - 175px);inset:45px 0 130px}}.project-hero[data-complete=true] *{animation-play-state:paused!important}.ph-data-window{animation:ph-data-open var(--ph-cycle) linear 1 both;filter:drop-shadow(0 7px 10px #13243825)}.ph-scene .ph-code-heading{fill:#b4c9dd;letter-spacing:.05em;font:7px IBM Plex Mono,monospace}.ph-scene .ph-code{fill:#d6eaff;animation:ph-code-read var(--ph-cycle) steps(1,end) 1 both;font:8px IBM Plex Mono,monospace}.ph-scene .ph-code-footer{fill:#819bb3;font:6px IBM Plex Mono,monospace}@keyframes ph-data-open{0%,64%{opacity:0}70%,to{opacity:1}}@keyframes ph-code-read{0%,71%{opacity:0}72%,to{opacity:1}}.ph-code-2{animation-name:ph-code-two!important}.ph-code-3{animation-name:ph-code-three!important}.ph-code-4{animation-name:ph-code-four!important}@keyframes ph-code-two{0%,75%{opacity:0}76%,to{opacity:1}}@keyframes ph-code-three{0%,79%{opacity:0}80%,to{opacity:1}}@keyframes ph-code-four{0%,83%{opacity:0}84%,to{opacity:1}}
