/* =========================================================
   Learning Rewired Lab — Challenge (redesign)
   Page-specific styles. Pairs with global.css + challenge.js.
   Layout is inline on the elements; this file holds only what
   inline styles can't express (keyframes, media queries,
   hover states).
   ========================================================= */

.ch-page { box-sizing: border-box; }
.ch-page *, .ch-page *::before, .ch-page *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.ch-page main { overflow: hidden; }
.ch-page ::selection { background: rgba(22,184,217,.22); }

/* ---- keyframes ---- */
@keyframes ch-pulse { 0%,100% { opacity:.4; } 50% { opacity:1; } }
@keyframes ch-sheen { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
@keyframes ch-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@media (prefers-reduced-motion: reduce) { .ch-float { animation: none !important; } }

/* ---- form input placeholder ---- */
.ch-email::placeholder { color: rgba(226,242,247,.5); }

/* ---- hover states ---- */
.h-cyan:hover  { background:#0ea5c2 !important; }
.h-mint:hover  { background:#ffffff !important; }
.h-ink:hover   { background:rgba(255,255,255,.14) !important; }
.h-ghost:hover { border-color:#16b8d9 !important; color:#0789a2 !important; }
.h-link:hover  { color:#07111f !important; }

.h-day { transition:transform .2s, box-shadow .2s, border-color .2s; }
.h-day:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(15,23,42,.1) !important; border-color:rgba(22,184,217,.4) !important; }

.h-door { transition:border-color .2s, background .2s; }
.h-door:hover { border-color:rgba(22,184,217,.4) !important; background:#f7fcfd !important; }

/* ---- responsive ---- */
@media (max-width: 980px) {
  [data-r="hero"], [data-r="kip"], [data-r="why"], [data-r="fit"], [data-r="after"] { grid-template-columns: 1fr !important; gap: 0 !important; }
  [data-r="hero"] { gap: 40px !important; }
  [data-r="h1"] { font-size: 46px !important; }
  [data-r="kip"] { border-radius: 24px !important; }
  [data-r="kip-media"] { min-height: 280px !important; }
  [data-r="traps"] { grid-template-columns: 1fr 1fr !important; }
  [data-r="doors"] { grid-template-columns: 1fr !important; }
  [data-r="after"] { gap: 26px !important; text-align: left !important; }
  [data-r="after"] > div:last-child { justify-self: start !important; }
}
@media (max-width: 600px) {
  [data-r="h1"] { font-size: 37px !important; }
  [data-r="traps"] { grid-template-columns: 1fr !important; }
  [data-r="sec-h"] { font-size: 30px !important; }
  [data-r="kip-body"] { padding: 36px 26px !important; }
}
