@font-face{font-family:'placeholder';src:local('Arial')}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fdfdfc;font-family:"Zen Kaku Gothic New",sans-serif;color:#1a1a1a}
a{color:#1a1a1a;text-decoration:none}
a:hover{color:oklch(0.55 0.17 20)}
input,select,textarea{font-family:"Zen Kaku Gothic New",sans-serif}

@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-10px) rotate(var(--rot,0deg))}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes heroWordIn{0%{opacity:0;transform:translateY(50px) scale(.87) rotate(-3deg)}60%{opacity:1;transform:translateY(-5px) scale(1.02) rotate(.5deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes heroBadgeIn{0%{opacity:0;transform:translateY(-14px) scale(.7) rotate(0deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(4deg)}}
@keyframes heroShine{0%{background-position:-120% 0}100%{background-position:220% 0}}
@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}

/* nav responsive: desktop links shown >860px, hamburger shown <=860px */
.nav-toggle{display:none}
@media (max-width:860px){
  .nav-desktop{display:none !important}
  .nav-toggle{display:flex !important}
}

.btn-pop{transition:transform .15s, box-shadow .15s}
.btn-pop:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #1a1a1a}
.card-hover{transition:transform .2s}
.card-hover:hover{transform:translate(-3px,-3px)}

/* scroll reveal (JS toggles .is-visible) */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s cubic-bezier(.22,.9,.3,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-pop{transform:translateY(36px) scale(.82) rotate(-2deg) !important;transition:opacity .55s ease, transform .7s cubic-bezier(.34,1.56,.64,1) !important}
.reveal-pop.is-visible{transform:translateY(0) scale(1) rotate(0) !important}
