* { box-sizing: border-box; }
body { margin: 0; background: #FFF8EC; font-family: Poppins, Helvetica, sans-serif; color: #1A1210; -webkit-font-smoothing: antialiased; }
a { color: #C60B1E; }
a:hover { color: #8F0713; }
.cta { transition: transform .2s ease; }
.cta:hover { transform: translateY(-2px) scale(1.02); }
.mockup { transition: transform .4s ease; }
.mockup:hover { transform: translateY(-14px) rotateY(0deg) scale(1.03); animation-play-state: paused; }
details summary::-webkit-details-marker { color: #C60B1E; }
@keyframes floatBox { 0%,100% { transform: translateY(0) rotateY(-7deg) rotateX(2deg); } 50% { transform: translateY(-18px) rotateY(5deg) rotateX(-1deg); } }
@keyframes floatSoft { 0%,100% { transform: translateY(0) rotateY(-4deg); } 50% { transform: translateY(-11px) rotateY(4deg); } }
@keyframes glowPulse { 0%,100% { opacity: .35; transform: scale(.92); } 50% { opacity: .7; transform: scale(1.04); } }
@keyframes shine { 0% { transform: translateX(-120%) skewX(-18deg); } 55%,100% { transform: translateX(260%) skewX(-18deg); } }
@keyframes pulseCta { 0%,100% { box-shadow: 0 14px 34px rgba(198,11,30,.34), 0 0 0 0 rgba(255,196,0,.55); } 50% { box-shadow: 0 14px 34px rgba(198,11,30,.34), 0 0 0 16px rgba(255,196,0,0); } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; } }
@media print { body { background: #fff; } }
