/* V22 Home discipline cards: calmer imagery at rest, Portfolio-class motion on hover. */
.home-discipline-card{isolation:isolate;transform:translateZ(0);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease,border-color .4s ease!important}
.home-discipline-card img{opacity:.78!important;filter:saturate(.82) brightness(.91)!important;transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter .55s ease,opacity .55s ease!important}
.home-discipline-card::after{background:linear-gradient(180deg,rgba(20,15,12,.12),rgba(20,15,12,.67))!important;transition:background .5s ease!important}
.home-discipline-card:hover,.home-discipline-card:focus-visible{transform:translateY(-7px) scale(1.008);border-color:color-mix(in srgb,var(--lantern) 46%,var(--line));box-shadow:0 28px 64px color-mix(in srgb,var(--bark) 28%,transparent)!important}
.home-discipline-card:hover img,.home-discipline-card:focus-visible img{opacity:.96!important;transform:scale(1.085)!important;filter:saturate(1.04) brightness(.98) contrast(1.03)!important}
.home-discipline-card span:not(.discipline-fx){z-index:4!important;transition:transform .55s cubic-bezier(.16,1,.3,1),letter-spacing .55s ease,color .3s ease!important}
.home-discipline-card:hover span:not(.discipline-fx),.home-discipline-card:focus-visible span:not(.discipline-fx){transform:translateY(-9px) scale(1.025);letter-spacing:.055em;color:#fff}
.discipline-fx{position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important;overflow:hidden!important}
.spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#D9B36C;box-shadow:0 0 14px #D9B36C;animation:portfolioSpark .95s ease-out forwards}.code-rain{position:absolute;color:#b6ffcf;font:800 10px monospace;opacity:.8;animation:codeDrop 1s linear forwards}.poly{position:absolute;border:1px solid rgba(237,228,211,.75);width:20px;height:20px;transform:rotate(45deg);animation:polyFloat 1.1s ease-out forwards}.design-line{position:absolute;height:2px;background:#D9B36C;transform-origin:left;animation:designSweep .85s ease-out forwards}
@keyframes portfolioSpark{to{transform:translate(var(--x),var(--y)) scale(.1);opacity:0}}@keyframes codeDrop{from{transform:translateY(-20px);opacity:0}30%{opacity:.9}to{transform:translateY(130px);opacity:0}}@keyframes polyFloat{to{transform:translate(var(--x),var(--y)) rotate(225deg) scale(.2);opacity:0}}@keyframes designSweep{from{width:0;opacity:.9}to{width:var(--w);opacity:0}}
@media(hover:none){.home-discipline-card:hover{transform:none}.home-discipline-card img{opacity:.84!important}}
@media(prefers-reduced-motion:reduce){.home-discipline-card,.home-discipline-card img,.home-discipline-card span{transition:none!important}.discipline-fx{display:none!important}}
