/* Shared project-card typography and controls; independent photographic foliage. */
.home-page .projects .feature-columbia{position:relative;isolation:isolate;overflow:clip;background:#263f20;--project-accent:#24513e;--leaf-copy-end:58%}
.feature-columbia::before{content:'';position:absolute;inset:-18px;z-index:-3;pointer-events:none;background:url('../assets/columbia-springs/foliage.jpg') center/cover;filter:blur(12px) brightness(.64) saturate(.72)}
.feature-columbia::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(247,250,243,.99) 0%,rgba(247,250,243,.96) 39%,rgba(247,250,243,.92) var(--leaf-copy-end),rgba(239,246,229,.24) 79%,rgba(239,246,229,.02) 100%)}
.foliage-scene{position:absolute;left:0;top:0;width:1080px;height:460px;z-index:-2;pointer-events:none;transform-origin:0 0}
.foliage-branches{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(1px 3px 3px #071b1199)}
.foliage-leaf{position:absolute;display:block;background-image:url('../assets/columbia-springs/leaf-atlas.png');background-size:300% 100%;background-repeat:no-repeat;filter:saturate(.73) brightness(var(--leaf-light,1)) drop-shadow(2px 4px 4px #11251270);will-change:transform}
.feature-columbia .feature-art{display:block;padding:0}
.site-demo{width:100%;margin:0}
.site-demo-window{border:1px solid #bccbc6;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 18px 36px -22px #19382b80}
.site-demo-chrome{height:27px;display:flex;align-items:center;gap:4px;padding:0 10px;background:#f6f8f7;border-bottom:1px solid #dfe6e2;color:#637068;font-size:9px;line-height:1}
.site-demo-chrome i{width:5px;height:5px;border-radius:50%;background:#c4cfca}
.site-demo-chrome span{margin:auto}
.site-demo-viewport{position:relative;aspect-ratio:1120/900;overflow:hidden;background:#fff;isolation:isolate;container-type:inline-size}
.site-demo .site-demo-page{position:absolute;inset:0 auto auto 0;width:100%;height:auto;max-width:none;display:block;will-change:transform;pointer-events:none}
.site-demo-visit,.site-demo-field{opacity:0}
.site-demo-menu{position:absolute;left:38%;top:12.3%;width:26%;padding:1.1% 0;border:1px solid #dce5df;border-top:2px solid #275642;box-shadow:0 6px 12px #122c2026;background:#fff;color:#244e3f;font:500 clamp(6px,1.4cqw,14px)/1.35 Arial,sans-serif;opacity:0;pointer-events:none;z-index:2}
.site-demo-menu span{display:block;padding:3% 7%}
.site-demo-menu .consolidated-field{background:#e7efe7;color:#183f2d;font-weight:700}
.site-demo-pointer{position:absolute;left:0;top:0;width:20px;height:24px;opacity:0;z-index:3;pointer-events:none;filter:drop-shadow(0 1px 2px #142d1d40)}
.site-demo-pointer svg{display:block;width:100%;height:100%}
.site-demo-pointer::before{content:'';position:absolute;width:30px;height:30px;left:-10px;top:-10px;border:2px solid #f8a54f;border-radius:50%;background:#ffd29935;opacity:0}
.site-demo.is-playing .site-demo-visit{animation:columbia-visit 14s linear both}
.site-demo.is-playing .site-demo-field{animation:columbia-page 14s linear both}
.site-demo.is-playing .site-demo-menu{animation:columbia-menu 14s linear both}
.site-demo.is-playing .site-demo-pointer{animation:columbia-pointer 14s ease-in-out both}
.site-demo.is-playing .site-demo-pointer::before{animation:columbia-clicks 14s ease-out both}
.site-demo.is-paused *,.site-demo.is-paused *::before{animation-play-state:paused!important}
.site-demo.is-complete .site-demo-visit{opacity:1}
.site-demo.is-complete .site-demo-field{opacity:1;transform:translateY(-74.5093%)}
@keyframes columbia-visit{0%,17%{opacity:0}18.5%,100%{opacity:1}}
@keyframes columbia-page{0%,50.5%{opacity:0;transform:translateY(0)}52%{opacity:1;transform:translateY(0)}74%{opacity:1;transform:translateY(0);animation-timing-function:cubic-bezier(.22,.65,.3,1)}85%,100%{opacity:1;transform:translateY(-74.5093%)}}
@keyframes columbia-menu{0%,40.5%{opacity:0}42%,50%{opacity:1}51%,100%{opacity:0}}
@keyframes columbia-pointer{0%,7%{left:73%;top:43%;opacity:0}9%{opacity:1}15%,18%{left:47.7%;top:8%;opacity:1}23%,33%{left:82%;top:70%;opacity:.6}40%,43%{left:45.5%;top:10.5%;opacity:1}49%,52%{left:var(--menu-target-x,46%);top:var(--menu-target-y,20.8%);opacity:1}57%,64%{left:83%;top:73%;opacity:.6}71%,74%{left:50%;top:60.7%;opacity:1}80%,85%{left:87%;top:73%;opacity:.65}89%,100%{left:87%;top:73%;opacity:0}}
@keyframes columbia-clicks{0%,15.5%,18%,40.5%,43%,49.5%,52%,71.5%,74%,100%{opacity:0;transform:scale(.6)}16%,41%,50%,72%{opacity:1;transform:scale(.75)}17.5%,42.5%,51.5%,73.5%{opacity:0;transform:scale(1.25)}}
@media(max-width:760px){.feature-columbia::after{background:linear-gradient(180deg,rgba(247,250,243,.99) 0%,rgba(247,250,243,.95) var(--leaf-copy-end),rgba(239,246,229,.25) 83%,rgba(239,246,229,.04) 100%)}.site-demo{max-width:440px;margin-inline:auto}.site-demo-chrome{height:25px}.site-demo-pointer{width:17px;height:20px}}
@media(prefers-reduced-motion:reduce){.site-demo *,.site-demo *::before{animation:none!important}.site-demo-visit{opacity:1!important}.site-demo-field{opacity:0!important;transform:none!important}.site-demo-pointer,.site-demo-menu{display:none}.feature-columbia .replay-site{display:none}.foliage-leaf{will-change:auto}}
