* { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { background: var(--color-paper); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
  ::selection { background: rgba(229,36,36,0.22); color: #0A0A08; }
  a { text-decoration: none; }
  a.nclink { color: #0A0A08; border-bottom: 1px solid rgba(10,10,8,0.28); transition: border-color .3s cubic-bezier(0.4,0,0.2,1); }
  a.nclink:hover { border-bottom-color: #E52424; }
  :focus-visible { outline: 2px solid #E52424; outline-offset: 3px; border-radius: 3px; }
  @keyframes ncUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes ncFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
  @keyframes ncGlowA { 0%,100% { transform: translate(0,0) scale(1); opacity:.7; } 50% { transform: translate(-24px,20px) scale(1.08); opacity:.9; } }
  @keyframes ncGlowB { 0%,100% { transform: translate(0,0) scale(1); opacity:.55; } 50% { transform: translate(26px,-18px) scale(1.1); opacity:.75; } }
  .fitcook-hero-phone {
    position: relative;
    width: min(100%, 292px);
    margin: 0 auto;
    animation: ncFloat 7s ease-in-out infinite;
  }
  @media (prefers-reduced-motion: reduce) {
    .fitcook-hero-phone { animation: none; }
  }

  /* responsive */
  @media (max-width: 900px) {
    [data-grid="mast"] { grid-template-columns: 1fr !important; }
    [data-nav-links] { display: none !important; }
  }
  @media (max-width: 640px) {
    [data-grid="foot"] { grid-template-columns: 1fr 1fr !important; }
  }
