/* Second Soul Media — shared stylesheet (keyframes, resets, responsive rules). */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{background:#060B1A;color:#F4EFE3;font-family:'General Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
::selection{background:rgba(201,162,75,.32);color:#fff}
@keyframes ssMarquee{to{transform:translateX(-50%)}}
@keyframes ssLineUp{from{transform:translateY(115%)}to{transform:translateY(0)}}
@keyframes ssFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes ssDraw{to{stroke-dashoffset:0}}
@keyframes ssTwinkle{0%,100%{opacity:.2;transform:scale(.7) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(40deg)}}
@keyframes ssPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}
@keyframes ssScroll{0%{transform:translateY(-110%)}100%{transform:translateY(260%)}}
@keyframes ssLoaderOut{to{transform:translateY(-101%)}}
@keyframes ssLoadBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ssLogoGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(201,162,75,0))}50%{filter:drop-shadow(0 0 16px rgba(201,162,75,.5))}}
@media (pointer:fine){.ss-root{cursor:none}.ss-root a,.ss-root button{cursor:none}}
@media (max-width:880px){.ss-navlinks{display:none!important}.ss-menu{display:inline-flex!important}}
@media (min-width:881px){.ss-menu{display:none!important}}
@media (max-width:640px){.ss-pillars{display:none!important}}
.ss-svc-desc{display:none}
.ss-work-card .ss-work-img{transform-origin:center}
.ss-work-card:hover .ss-work-img{transform:scale(1.07)}
.ss-work-card:hover .ss-work-ov{opacity:1!important;transform:translateY(0)!important}
.ss-work-card:hover .ss-work-idx{color:#E7CE91!important}
[data-work-track]::-webkit-scrollbar{display:none}
[data-work-track].ss-grabbing{cursor:grabbing}
@media (max-width:860px){
  .ss-svc-grid{grid-template-columns:1fr!important}
  .ss-svc-preview{display:none!important}
  .ss-svc-desc{display:block!important}
  .ss-proc-line{display:none!important}
}
@media (hover:none){
  .ss-row-cta{opacity:1!important;transform:none!important}
  .ss-work-card .ss-work-ov{opacity:1!important;transform:none!important}
  .ss-work-row .ss-img-b{opacity:.32!important}
}
@media (max-width:600px){
  .ss-work-row{min-height:230px!important;aspect-ratio:3/2!important}
  .ss-nav-cta{padding:11px 16px!important}
  .ss-nav-wordmark{display:none!important}
  .ss-hero-sec{padding-top:112px!important}
  .ss-testi-arrows{display:none!important}
}
@media (max-width:400px){
  .ss-nav-cta{display:none!important}
}
.ss-page{display:none}
.ss-page[data-active="1"]{display:block}
[data-wipe]{position:fixed;inset:0;z-index:9997;background:#060B1A;display:flex;align-items:center;justify-content:center;transform:translateY(100%);pointer-events:none;will-change:transform}
@media (prefers-reduced-motion:reduce){[data-wipe]{display:none!important}}
.ss-caret{transition:transform .35s}
[data-dropdown]:hover .ss-caret{transform:rotate(180deg)}
.ss-work-row .ss-img-a,.ss-work-row .ss-img-b{transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.ss-work-row:hover .ss-img-a{opacity:0;transform:scale(1.06)}
.ss-work-row:hover .ss-img-b{opacity:1;transform:scale(1.06)}
.ss-work-row:hover .ss-row-title{color:#E7CE91}
.ss-work-row:hover .ss-row-idx{color:#E7CE91}
.ss-row-cta{opacity:0;transform:translateX(-12px);transition:opacity .45s,transform .45s}
.ss-work-row:hover .ss-row-cta{opacity:1;transform:translateX(0)}
.ss-tech-tile{transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s,background .4s}
.ss-tech-tile:hover{transform:translateY(-4px);border-color:rgba(201,162,75,.5);background:rgba(201,162,75,.07)}
.ss-tech-tile:hover .ss-tech-mark{color:#E7CE91;opacity:1}
.ss-award{transition:border-color .4s,transform .4s}
.ss-award:hover{border-color:rgba(201,162,75,.5);transform:translateY(-4px)}
@media (max-width:760px){[data-drop-panel]{display:none!important}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0ms!important}}
.ss-page{display:block}
