/* Split Desire — production styles
   Converted from Claude Design .dc prototype. Structural styles stay inline
   (source-of-truth for pixel layout); this sheet holds reset, keyframes,
   and :hover states (the prototype's style-hover attributes). */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; background: #0a0710; }
img { max-width: 100%; }

/* ---- keyframes (from prototype <helmet>) ---- */
@keyframes sd-float   { 0%,100%{transform:translate(0,0) scale(1)}       50%{transform:translate(5%,4%) scale(1.14)} }
@keyframes sd-float2  { 0%,100%{transform:translate(0,0) scale(1.05)}    50%{transform:translate(-6%,-4%) scale(1)} }
@keyframes sd-breathe { 0%,100%{transform:scale(1);opacity:.45}          50%{transform:scale(1.32);opacity:.8} }
@keyframes sd-spin    { to{transform:rotate(360deg)} }
@keyframes sd-marquee { to{transform:translateX(-50%)} }
@keyframes sd-ring    { 0%{transform:translate(-50%,-50%) scale(.5);opacity:.5} 100%{transform:translate(-50%,-50%) scale(2.4);opacity:0} }
@keyframes sd-drift   { 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
@keyframes sd-bob     { 0%,100%{transform:translateY(0)} 50%{transform:translateY(9px)} }
@keyframes sd-twinkle { 0%,100%{opacity:.15;transform:translateY(0) scale(.85)} 50%{opacity:.95;transform:translateY(-16px) scale(1.1)} }

/* respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ---- hover / lift states ---- */
.sd-nav-link { transition: color .2s ease; }
.sd-nav-link:hover { color: #f4eef2 !important; }

.sd-foot-link { transition: color .2s ease; }
.sd-foot-link:hover { color: #f4eef2 !important; }

.sd-lift   { transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.sd-lift:hover  { transform: translateY(-2px); }
.sd-lift1:hover { transform: translateY(-1px); }
.sd-lift3 { transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.sd-lift3:hover { transform: translateY(-3px); }

/* bordered buttons that also glow pink on hover */
.sd-pinkborder:hover { border-color: #ff5fa8 !important; transform: translateY(-2px); }

/* listing cards */
.sd-card-pink:hover  { border-color:#ff5fa8 !important; background:rgba(255,46,139,.06) !important; transform:translateY(-2px); }
.sd-card-blue:hover  { border-color:#5f9fff !important; background:rgba(61,125,255,.06) !important; transform:translateY(-2px); }

/* gear cards */
.sd-gear-pink:hover   { border-color:#ff5fa8 !important; background:rgba(255,46,139,.05) !important; transform:translateY(-3px); }
.sd-gear-purple:hover { border-color:#c14bd9 !important; background:rgba(157,78,221,.06) !important; transform:translateY(-3px); }

/* follow grid cards */
.sd-follow-pink:hover { border-color:#ff5fa8 !important; background:rgba(255,46,139,.06) !important; transform:translateY(-3px); }
.sd-follow-blue:hover { border-color:#5f9fff !important; background:rgba(61,125,255,.06) !important; transform:translateY(-3px); }

/* ---- mobile menu ---- */
.sd-mobile-menu { display: none; }
.sd-mobile-menu.open { display: flex; }

@media (max-width: 820px) {
  .sd-nav-links { display: none !important; }
  .sd-burger    { display: flex !important; }
}
