/* Surface Wolf — global base (ported from the homepage reference <style> block). */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
body {
  font-family: var(--sw-font-body);
  background: var(--sw-bg);
  color: var(--sw-text);
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--sw-accent); color: #fff; }
a { color: inherit; }
img { max-width: 100%; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* fade-up on scroll */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
.reveal.in { opacity: 1; transform: none; }

@keyframes floaty { 0%,100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-16px) rotate(-4deg); } }
@keyframes sw-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* skip link (a11y) */
.sw-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: #000; color: #fff; padding: 12px 18px; font-weight: 700;
}
.sw-skip-link:focus { left: 12px; top: 12px; }

/* page wrapper so fixed header doesn't overlap solid-header pages */
.sw-site-main { min-height: 60vh; }
